-1
受信時にローカル通知とプッシュ通知のために観測可能を実装する方法を教えてください。アプリデリゲートで 、私たちは、私が他の画面上でこれらの通知を聞くことができますどのようにローカル通知とプッシュ通知のRx_Swift
didReceiveLocalNotification
と
didReceiveRemoteNotification
に通知していますか?通知のためにNotificationCenterを使用しましたが、今はRX-Swiftを使用したいと考えています。私はこの方法で試しましたが、動作しません。
extension UILocalNotification {
var notificationSignal : Observable<UILocalNotification> {
return Observable.create { observer in
observer.on(.Next(self))
observer.on(.Completed)
return NopDisposable.instance
}
}
}
誰でも手伝ってもらえますか?
更新日:
こんにちは、私はあなたが使用されているように、その使用したのと同じ方法が、いくつかの変更のための解決策を見つけました。
class NotificationClass {
static let bus = PublishSubject<AnyObject>()
static func send(object : AnyObject) {
bus.onNext(object)
}
static func toObservable() -> Observable<AnyObject> {
return bus
}
}
AppDelegateから通知を送信する:
func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
NotificationClass.send(notification)
}
を次に他のクラスに観察します。
NotificationClass.bus.asObserver()
.subscribeNext { notification in
if let notification : UILocalNotification = (notification as! UILocalNotification) {
print(notification.alertBody)
}
}
.addDisposableTo(disposeBag)
このクラスの中で最も優れたものは、それを通して任意のオブジェクトを放出し、消費することができることです。