swift - OnNext not called when disposing the result of Observable.subscribe -
i'm subscribing observable, if i'm adding disposable disposebag in class, onnext block never called.
here code :
@objc class applemusicplaylistmanager: nsobject { let disposebag = disposebag() let playlists: [mpmediaplaylist] = [] func importapplemusicplaylist() { playlists.foreach { appleplaylist in appleplaylist.getitunesstoretracks().subscribe(onnext: { tracks in // doing things here }).adddisposableto(disposebag) } } } where getitunesstoretracks return rxswift.observable<[soundsmusicitunesstore]> , whole thing used applemusicplaylistmanager().importapplemusicplaylist()
it works expected.
current logic disposebag points out, observables not disposed of until disposebag alive.
in case - applemusicplaylistmanager().importapplemusicplaylist(), create manager , call async requests, while manager deallocating. observables deallocating well.
in order work correctly, either have set manager shared , use method: applemusicplaylistmanager.shared.importapplemusicplaylist() or save manager property in order not deallocate immediately.
Comments
Post a Comment