【发布时间】:2019-10-27 09:01:09
【问题描述】:
我正在尝试创建一个日期调度程序来观察某些事件。但它不起作用。我看过了
协议日期调度器
据说action会在protocol DateScheduler的某些方法中发生在currentDate。我在 10 秒后尝试这样做。以下是我的自定义时间表示例。
class SomeDateScheduler : DateScheduler {
var currentDate: Date
init() {
self.currentDate = Date(timeIntervalSinceNow: 10)
}
func schedule(after date: Date, action: @escaping () -> Void) -> Disposable? {
print(#function)
print(date)
return nil
}
func schedule(after date: Date, interval: DispatchTimeInterval, leeway: DispatchTimeInterval, action: @escaping () -> Void) -> Disposable? {
print(#function)
print(date)
print(interval)
print(leeway)
return nil
}
func schedule(_ action: @escaping () -> Void) -> Disposable? {
print(#function)
return nil
}
}
然后我创建绑定来观察事件
private func testSchedular() {
let schedular = SomeDateScheduler()
reactive.makeBindingTarget { appDeleg, value in
print("SUCCESS")
print(value)
} <~ signalSchedular.observe(on: schedular)
DispatchQueue.main.async { [observerSchedular] in
observerSchedular.send(value: "Hello World")
observerSchedular.sendCompleted()
}
}
我正在 AppDelegate 中执行此操作。 ObserverSchedular 和 signalSchedular 是全局属性。请向我解释如何调用所有方法 DateScheduler。
【问题讨论】:
标签: ios swift reactive-cocoa reactive-swift