2

我创建了一个Bindable具有两个属性的 SwiftUI 类,例如

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类的属性?

4

1 回答 1

3

您正在调用didChange(self)导致错误。didChange.send(self)改为打电话。

于 2019-06-08T04:39:01.050 回答