Swignals 1.0.0

Swignals 1.0.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2016年11月
SwiftSwift版本3.0
SPM支持SPM

Joseph Neuman维护。



Swignals 1.0.0

Swignals

Swignals 是一个完全用 Swift 编写的观察者模式系统。

安装

您可以将所有文件从源文件夹拖到项目中,或者使用 CocoaPods 安装。

示例

假设我们想在 shuffle 设置时向 AudioPlayer 类中添加一个信号,这可能看起来像这样

typealias OnShuffleChangedSwignal = Swignal1Arg<Bool>

class AudioPlayer {
    static let sharedInstance = AudioPlayer()

    let onShuffleChanged = OnShuffleChangedSwignal()
    var shuffle: Bool = false {
        didSet {
            onShuffleChanged.fire(shuffle)
        }
    }
}

然后要订阅该信号,您会这样做

class ControlsViewController: UIViewController {
    init() {
        AudioPlayer.sharedInstance.onShuffleChanged.addObserver(self) { (observer, arg1) in
        // note: you can rename the variables in the callback such as
        // callback: { (weakSelf, shuffle) in
            if let favoriteTracksDataSource = observer.tracksDataSource as? FavoriteTracksDataSource {
                favoriteTracksDataSource.shuffle = arg1
                favoriteTracksDataSource.refresh()
            }
        }
    }

    func updateViewBasedOnShuffle(shuffle: Bool) {
        // do important things
    }
}

作者

鸣谢

许可证

本项目受 MIT 许可证约束 - 有关详细信息,见 LICENSE.md 文件