我观看了WWDC 2019会议“实践结合”(https://developer.apple.com/videos/play/wwdc2019/721/)。
在视频中,他们使用以下语法创建了发布者:
@Published var someName: String = ""
他们这样做是为了使someName
成为发布者。但是,Xcode不喜欢这种语法,并给我一个错误:
未知属性“已发布”
我不知道为什么。我正在macOS Catalina上使用Xcode 11 beta。
有什么想法吗?
答案 0 :(得分:12)
在Xcode 11 Beta Release Notes中(添加了重点):
Combine框架的Foundation集成不可用。下列带有Combine 的Foundation和Grand Central Dispatch集成不可用::KeyValueObserving,NotificationCenter,RunLoop,OperationQueue,Timer,URLSession,DispatchQueue,JSONEncoder,JSONDecoder,PropertyListEncoder,PropertyListDecoder和 @Published属性包装器。(51241500)
更新:该问题已在Xcode 11 beta 2中修复。来自Xcode 11 Beta 2 Release Notes:
已解决的问题
现在可以使用Combine框架的Foundation集成。可以使用以下带有Combine的Foundation和Grand Central Dispatch集成:KeyValueObserving,NotificationCenter,RunLoop,OperationQueue,Timer,URLSession,DispatchQueue,JSONEncoder,JSONDecoder,PropertyListEncoder,PropertyListDecoder和@Published属性包装器。 (51241500)
答案 1 :(得分:1)
在Xcode 11 beta 2中可用,但必须导入Combine