You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
512 B
30 lines
512 B
//
|
|
// DataBox.swift
|
|
// GMERemittance
|
|
//
|
|
// Created by Sujal on 12/8/17.
|
|
// Copyright © 2017 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
class Box<T> {
|
|
|
|
typealias Listener = (T) -> Void
|
|
var listener: Listener?
|
|
|
|
var value: T {
|
|
didSet {
|
|
listener? (value)
|
|
}
|
|
}
|
|
|
|
init(_ value: T) {
|
|
self.value = value
|
|
}
|
|
|
|
func bind(listener: Listener?) {
|
|
self.listener = listener
|
|
listener? (value)
|
|
}
|
|
}
|