大佬教程收集整理的这篇文章主要介绍了ios – ReactiveCocoa rac_valuesForKeyPath在Swift中不起作用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
class source: NSObject { var observable: String = "<Original>" override init() { super.init() dispatch_after(dispatch_time(DISPATCH_TIME_Now,Int64(1 * NSEC_PER_SEC)),dispatch_get_main_queue(),{ () -> Void in self.observable = "<updated>" println("updated value to \(self.observablE)"); }) } } class Observer: NSObject { init(source: sourcE) { super.init() source.rac_valuesForKeyPath("observable",observer: self).subscribeNext { (value: AnyObject!) -> Void in println(">>> Observable value changed: \(value)") } } }
>>> Observable value changed: <Original> updated value to <updated>
这意味着未调用subcribeNext块.
预期的输入是:
>>> Observable value changed: <Original> updated value to <updated> >>> Observable value changed: <updated>
任何线索如何解决问题?
我让您的示例使用以下代码
class source: NSObject { dynamic var String:string = "Initial Value" override init() { super.init() } } class Observer: NSObject { init(source:sourcE) { super.init() source.rac_valuesForKeyPath("String",observer: self).subscribeNext { (newVal:AnyObject!) -> Void in println(newVal) } } } class ViewController: UIViewController { var source:source! var obs:Observer! override func viewDidLoad() { super.viewDidLoad() source = source() obs = Observer(source: sourcE) source.String = "Another Value" } }
以上是大佬教程为你收集整理的ios – ReactiveCocoa rac_valuesForKeyPath在Swift中不起作用全部内容,希望文章能够帮你解决ios – ReactiveCocoa rac_valuesForKeyPath在Swift中不起作用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。