我创建了一个具有两个属性的SwiftUI Bindable
类,例如
public class Clock: BindableObject {
public let didChange = PassthroughSubject<Clock, Never>()
public var time: Date = Date() {
didSet { didChange.send(self) }
}
public var useMilitaryTime = false {
didSet { didChange.send(self) }
}
}
这完全符合预期。但是,当我尝试添加具有自定义类型的属性(作为结构,类或元组)时,它无法编译:
public var sunriseSunset = (Date(), Date()) {
didSet { didChange(self) }
}
说我“无法调用非函数类型'PassthroughSubject'的值”。如果我尝试也同样会失败
public var sunriseSunset: (Date, Date)? = nil {
didSet { didChange(self) }
}
“诊断”按钮无用;它只是说它“无法建立活动的架构。”
哪些类型可以用作Bindable
类的属性?
答案 0 :(得分:3)
您正在呼叫didChange(self)
,这会导致错误。请致电didChange.send(self)
。