let officialAccountObservable : Observable<[SearchUser]> = SearchAPI.sharedAPI.suggestAccounts() officialAccountObservable.bind(to: tableView.rx.items(cellIdentifier: "followcell",cellType: FollowCell.self)) { (index,user,cell) in if user.profileImagePath.isEmpty == false { cell.profile.af_setimage(withURL: URL.init(string: user.profileImagePath)!) }else { cell.profile.image = UIImage.init(named: "icon_user_03") } cell.nickName.text = user.nickName cell.follow.rx.tap .debounce(0.3,scheduler: MainScheduler.instance) .subscribe(onNext: { [uNowned self] in cell.setFollow(user: user,completion: { (result) in if(result == true){ } }) }).adddisposableto(self.disposeBag) }.adddisposableto(disposeBag) func suggestAccounts() -> Observable<[SearchUser]> { let uri = Constants.VyrlSearchURL.suggestUsers return Observable.create { observer in let request = Alamofire.request(uri,method: .get,parameters: nil,encoding: JSONEncoding.default,headers: Constants.VyrlAPIConstants.getHeader()).responseArray { (response: DataResponse<[SearchUser]>) in let value = response.result.value observer.onNext(value!) observer.onCompleted() } return disposables.create(with: request.cancel) } }
我想在代码中重新加载表视图(result == true)
对于重新加载,必须收到OfficialAccountObservable.
我的代码已经全部结束,我想知道如何在该状态下更新它.
解决方法
AFAIK,这是这样做的标准方式 –
let source = PublishSubject<Observable<[SearchUser]>>() let officialAccountObservable: Observable<[SearchUser]> = source.switchLatest() source.onNext(suggestAccounts()) // every call will refresh your table
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。