2016年6月3日 星期五

記錄一個lazy的應用場景

放在首頁的一個tableview要用到的datasource必須跟server查詢才能取得,
但跟server查詢之前要先等到launch時的資料已經下載完。

因為我是用RxSwift所以我要用Observable做為datasource竹
這時候你在init的時候就可以把datasource的資料來源先設為lazy的參數,
lazy var items: Observable<[SectionModel<String, DepositList.Option>]>? = self.getItems()
它就會先init好,但等到你真正要的時候才去subscribe。

沒有留言:

張貼留言