我正在检查Combine,这是Apple的新框架。我创建了一个游乐场,并在macOS Mojave 10.14.5和Xcode 11.0 beta(11M336w)中运行了它。
这是我的代码:
import Combine
struct Article: Identifiable {
var id: Int
var title: String
}
final class Data: BindableObject {
let didChange = PassthroughSubject<Data, Never>()
var showFavouriteOnly = false {
didSet {
didChange.send(self)
}
}
var articles: [Article] = [.init(id: 1, title: "WWDC 2018"),
.init(id: 2, title: "WWDC 2019")] {
didSet {
didChange.send(self)
}
}
}
但是它失败并显示日志:
我究竟做错了什么?
最佳答案
如果您创建了iOS游乐场,那么即使您在macOS 10.14上运行Xcode 11或更高版本,Combine
也应该可以使用。如果您创建了macOS游乐场,则只有在macOS 10.15(Catalina)或更高版本上运行Xcode 11或更高版本时,Combine
才有效。
如果您创建了iOS游乐场,那么很可能在Combine(或Swift编译器)中发现了一个错误。如果愿意,可以在Apple’s feedback site上报告。
关于swift - 结合在操场上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56462348/