问题描述
我正在与Swift5结合使用;我有一个CurrentValueSubject
与一个@Published
字典变量结合在一起。
问题在于,当更新当前值时,地图永远不会被调用!这是@Published
变量的一个具体问题,因为它可以与其他未使用@Published
的流一起使用。
@Published var userModels: [String: UserModel] = [:]
var chatModels: CurrentValueSubject<[ChatModelFirebase],Never> = CurrentValueSubject([])
chatModels
.combineLatest(userModels.publisher)
.map({ (chatModels,userModels) -> [ChatViewModel] in
print("Hello") // Never gets called! ?
return []
})
.assign(to: \.chatViewModels,on: self)
.store(in: &cancellableSet)
// Update chat model's value,and notice that map never gets called!
chatModels.values = []
没有错误,代码可以编译和运行,但是我从来没有得到流更新的结果。 如果我将userModels
也更新为CurrentValueSubject
,该问题将得到解决,但问题是为什么combineLatest(..)
却与@Published
冲突? >
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)