swift – 可以/我应该如何用RC3替换我的KVO东西?

我正在尝试将使用Facebook的KVOController的objc应用程序移植到 Swift.我被鼓励将 RC3作为一种替代和更加迅捷的方法.我读了一些博客,我很鼓励尝试一下.但是许多文档和博客似乎都集中在套接字和定时器上作为例子.所以我现在有两个简单的问题:

1)给出一个objc片段,如:

[self.KVOController observe: self.site keyPath: @"programs" options: NSKeyValueObservingOptionInitial block:^(id observer,id object,NSDictionary *change) {
    [self.tableView reloadData];
}];

用RC3 API重写这个的简单方法是什么?什么是自我的RC3等效.KVOController unobserve:当该视图卸载时发生的self.site?

2)建议我使用Carthage来获取RC3代码.我可以安全地将Cartfile与已经使用Alamofire和SwiftyJSON的可可豆荚的项目混合使用吗?

免责声明:)
我也是整个ReactiveCocoa概念的新手,尤其是RAC 3.我正在使用新的框架来学习,所以我的解决方案可能不是API的预期用途.我很乐意收到其他人的反馈,并以正确的方式学习.

以下是我提出的第一个问题:
您可以将要观察的属性定义为MutableProperty.下面是String属性的最基本示例.假设您有一个视图模型,它有一个String属性,您希望在视图控制器对象中观察它.

ViewModel.swift

class ViewModel {
    var testProp = MutableProperty<String>("")
}

ViewController.swift

class ViewController: UIViewController {
    private let viewModel = ViewModel()

    override func viewDidLoad() {
        super.viewDidLoad()

        let testPropObserver = viewModel.testProp.producer
            testPropObserver.start(next: {value in
                println("new value \(value)")
            })

        viewModel.testProp.value = "you should see this in your log"
    }
}

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...