我有一个“DataManager”单例类,它使用 RAC3 处理我的应用程序的状态。它包含MutableProperty
我在不同位置开始和观察的多个 s。
我想让我的 DataManager 启动或创建一个信号,我可以使用我的 DataManager 单例在任何视图控制器中观察到,使用observe()
而不是start()
等。但我被卡住了,不知道如何在我的 DataManager 中初始化这个信号。我试过定义一个像
let documentUpdateSignal: Signal<Int,NSError>
let remainingDocuments = MutableProperty<Int>(0)
然后尝试在初始化时使用我的可变属性的生产者启动它,例如
override init() {
documentUpdateSignal = remainingDocuments.producer.start(next: {
docs in
println("doc count \(docs)")
})
super.init()
}
但这不起作用,因为它不返回Signal<Int,NSError>
我还尝试创建一个方法,该方法返回一个没有太多运气的信号,而不是一个属性……即使它看起来不太正确。
func updateSignal() -> Signal<Int, NSError> {
return remainingDocuments.producer
}
很想帮忙 非常感谢!