gpt4 book ai didi

ios - 如何从订阅的 RACSignal 中获取错误值?

转载 作者:行者123 更新时间:2023-11-28 12:48:00 26 4
gpt4 key购买 nike

例如:

在一个 Controller 中实现

func sendSuccessOrNot()->RACSignal {
// code here
}

在另一个 Controller 中,调用那个信号

controller.sendSuccessOrNot().subscribeNext {

}

如果 sendSuccessOrNot 在 ReactiveCocoa 中发送错误或成功值,如何检查上面的调用。

最佳答案

你使用的语法让我觉得你正在使用 Swift,在这种情况下你不应该使用 RACSignal,你应该使用 .toSignalProducer()将你的 RACSignal 转换为 SignalProducer。 p>

func sendSuccessOrNot() -> RACSignal {
return RACSignal.createSignal { (subscriber) -> RACDisposable! in
let test = true
if (test) {
subscriber.sendNext("Value")
subscriber.sendCompleted()
} else {
subscriber.sendError(NSError(domain: "", code: 0, userInfo: nil))
}
return RACDisposable(block: {})
}
}

controller.sendSuccessOrNot().toSignalProducer().on(next: { value in
print("next: \(value)")
},
failed: { error in
print("failed: \(error)")
}).start()

如果您仍在使用 RAC 2,那么它会是

controller.sendSuccessOrNot().subscribeNext({ value in
print("next: \(value)")
}, error: { error in
print("failed: \(error)")
})

关于ios - 如何从订阅的 RACSignal 中获取错误值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37450229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com