rxcocoa - ¿Qué es RxSwift 3.0 equivalente a AnonymousDisponible de RxSwift 2.x?
rxswift que es (3)
La documentación de ReactiveX.io utiliza AnonymousDisposable
, que estaba en RxSwift 2.x, pero es un identificador no resuelto en RxSwift 3.0. ¿Qué debería usar en su lugar?
let source = Observable.create { observer in
for i in 1...5 {
observer.on(.Next(i))
}
observer.on(.Completed)
// Note that this is optional. If you require no cleanup you can return
// NopDisposable.instance
return AnonymousDisposable {
print("Disposed")
}
}
source.subscribe {
print($0)
}
Utilizar:
return Disposables.create {
print("Disposed")
}
Tenga en cuenta que esta sintaxis de Swift 2:
NopDisposable.instance
también ha sido reemplazado por
Disposables.create()
Más allá de eso, es interesante observar que, bajo el capó, NopDisposable
todavía existe pero está expuesto a través de este método de create
. Aquí está la fuente .
Para crear Observable
''s en Swift 3, debe sustituir la instancia AnonymousDisposable
Disposables.create()
AnonymousDisposable
por Disposables.create()
, como en este caso:
let source = Observable.create { observer in
observer.on(.next(1))
observer.on(.completed)
return Disposables.create()
}
Si quieres realizar alguna acción cuando el Observable está dispuesto, puedes usar el que mencionas antes:
return Disposables.create {
print("Disposed")
}
Espero que esto te ayude.