使用这些宏时,我收到以下错误:
@Observable问题:未知属性“ObservableObject”
@环境问题:无法将类型“ModelData.Type”的值转换为预期的参数类型“KeyPath<EnvironmentValues,Value”,无法推断泛型参数“Value”
在第4节第2步的下一页link-to-page上,我被告知执行以下操作:
Step 2: Declare a new model type using the Observable() macro.的
然后在步骤3中告诉我以下内容:In LandmarkList, add an @Environment property wrapper to the view, and an environment(_:) modifier to the preview.
我试着把我的类设置为遵守ObservableProtocol,并把我的var landmarks设置为@Published,但我不知道我在做什么,也不知道这意味着什么。它似乎删除了@Observable问题的错误消息。
1条答案
按热度按时间7gcisfzg1#
@Published
不支持@Observable
。Observable
取代ObservableObject
在iOS 17+中,如果您出于其他原因需要
Combine
,则应仅使用ObservableObject
/Published
。https://developer.apple.com/documentation/swiftui/migrating-from-the-observable-object-protocol-to-the-observable-macro
该教程是为iOS 17+量身定制的,所以如果你支持的是任何低于
Observable
的东西,那么Observable
就不起作用了。这可能是你的问题。