【发布时间】:2021-05-21 08:37:16
【问题描述】:
我有这个协议:
protocol MyProtocol:ObservableObject {
var codeDetected:CodeDetected { get set }
var codeDetectedPublished: Published<CodeDetected> { get }
var codeDetectedPublisher: Published<CodeDetected>.Publisher { get }
}
这是检测到的代码
class CodeDetected:ObservableObject {
var title: String
var value:String
init(title:String = "", value:String = ""){
self.title = title
self.value = value
}
}
稍后上课...
class MyModel: MyProtocol {
@Published var codeDetected:CodeDetected = CodeDetected()
var codeDetectedPublished: Published<CodeDetected> { _codeDetected}
var codeDetectedPublisher: Published<CodeDetected>.Publisher { $codeDetected }
}
问题是在这个类上改变codeDetected,并不会触发观察它的结构上的任何东西。
稍后实现
struct MyView: View {
@ObservedObject let myModel = MyModel()
我正在为它设置新值
codeDetected = newCodeDetected
【问题讨论】: