Ser*_*gio 5 core-data ios swift widgetkit swift-data
我的应用程序及其小部件之间共享一个应用程序组。
我有 SwiftData 的 @Model,从小部件意图的perform()方法更新并显示在应用程序和小部件上。
@MainActor
func perform() async throws -> some IntentResult {
let context = try ModelContainer(for: MyModel.self).mainContext
let myModel = try ModelContainer(for: MyModel.self).mainContext.fetch(
FetchDescriptor<MyModel>(predicate: #Predicate {
// The predicate is not the problem.
})
).first
myModel?.functionThatModifiesMyModel()
return .result()
}
Run Code Online (Sandbox Code Playgroud)
应用程序和小部件 SwiftUI 都使用宏查看对模型的访问。
@Environment(\.modelContext) var context
@Query(sort: \.whatever) var myModel: [MyModel]
Run Code Online (Sandbox Code Playgroud)
但应用程序代码中的数据永远不正确(使用意图正确更新小部件的数据)。
为什么模型没有出现在应用程序中?
| 归档时间: |
|
| 查看次数: |
1171 次 |
| 最近记录: |