RxSwift:单个可观察到的自我为零

用户2924482

我正在尝试实现RxSwift单个可观察的:

class Doctor {
    var disposeBag = DisposeBag()

    func sanityCheck() -> Single<String> {
        return Single<String>.create {[weak self] observer in
            if self?.amICrazy() == true {
                observer(.success("Yes, you are crazy"))
            }else {
                observer(.error(someError.notCrazy))
            }
            return Disposables.create()
        }
    }

    func amICrazy() -> Bool {
        return arc4random_uniform(2) == 0
    }
}

但是问题self始终是零。

你们谁都知道为什么self为零或如何解决?

非常感谢您的帮助。

人与熊

您在时使用weakCapture forself创建闭合Single,因此,除非您对Doctor对象拥有强大的引用,否则一旦离开分配上下文,它就会被释放。

顺便说一句,在最新的swift中,您可以Bool.random()用来获取随机布尔值。

func amICrazy() -> Bool {
    return Bool.random() // or just .random()
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过使用Rxswift获取可观察到的UIImageView为空?

来自分类Dev

如何“绑定”(存储)可观察到的$ index到我的可观察到的?

来自分类Dev

单个连接后,可观察到的TcpListener终止

来自分类Dev

可观察到可观察的顺序

来自分类Dev

可观察到的createasync

来自分类Dev

可观察到的错误

来自分类Dev

如果为空,则可观察到的开关

来自分类Dev

在ngrx中可观察到的数组为空

来自分类Dev

RxSwift:返回一个新的可观察到的错误

来自分类Dev

使用if / else语句返回可观察到的值不适用于RxSwift flatMap

来自分类Dev

RxSwift)订阅了一个可观察到的两次无法正常工作

来自分类Dev

角度2可观察到可观察[]

来自分类Dev

RXJS可观察到的doSomething onComplete

来自分类Dev

转换可观察到列表

来自分类Dev

RxJs数组可观察到的数组

来自分类Dev

可观察到RxJava的后备

来自分类Dev

RxJs可观察到的分页

来自分类Dev

角度2可观察到的间隔

来自分类Dev

Firebase中可观察到的后端?

来自分类Dev

垫台变化可观察到

来自分类Dev

可观察到的FromEventPattern INotifyCollectionChanged错误

来自分类Dev

返回可观察到的延期

来自分类Dev

在Java中可观察到的null

来自分类Dev

动态缓存可观察到API

来自分类Dev

合并可观察到的排放

来自分类Dev

从 eventListener 可观察到的角度返回

来自分类Dev

模板中的异步管道可观察到的值不适用于单个值

来自分类Dev

如何使“独立”计算的可观察到的某些可观察到的(Knockout.js)

来自分类Dev

带剔除的jQWidgets数字输入不会更新为可观察到的