IOS 13 Combine Framework-@Published不起作用(“未知属性'Published'”)

时间:2019-06-10 07:31:14

标签: ios swift combine

我观看了WWDC 2019会议“实践结合”(https://developer.apple.com/videos/play/wwdc2019/721/)。

在视频中,他们使用以下语法创建了发布者:

@Published var someName: String = ""

他们这样做是为了使someName成为发布者。但是,Xcode不喜欢这种语法,并给我一个错误:

  

未知属性“已发布”

我不知道为什么。我正在macOS Catalina上使用Xcode 11 beta。

有什么想法吗?

2 个答案:

答案 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