与@Published属性

问题描述

我正在与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 (将#修改为@)