Jul*_*n01 2 nsmanagedobjectcontext swift activitykit
我尝试在 Swift 中向我的应用程序添加实时活动。但是,当我尝试运行该应用程序时,出现错误消息“尾随闭包传递给不接受闭包的‘NSManagedObjectContext’类型的参数”。我的应用程序使用 Core Data 来保存我的应用程序的数据。
class HabitManager: ObservableObject {
private var activity: Activity<HabitsWidgetAttributes>? = nil
func startHabit(name: String, symbol: String, currentTask: String) {
let attributes = HabitsWidgetAttributes(name: name, symbol: symbol)
let state = HabitsWidgetAttributes.ContentState(currentTask: currentTask)
activity = try? Activity<HabitsWidgetAttributes>.request(attributes: attributes, contentState: state)
}
func updateActivity(nextTask: String) {
let state = HabitsWidgetAttributes.ContentState(currentTask: nextTask)
Task { // Line where the error is generated
await activity?.update(using: state)
}
}
func stopActivity() {
let state = HabitsWidgetAttributes.ContentState(currentTask: "Finished")
Task { // Line where the error is generated
await activity?.end(using: state, dismissalPolicy: .immediate)
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果您创建一个名为 Task 的 CoreData 实体,那么编译器将尝试使用它而不是 SwiftTask结构。
您可以将 CoreData 实体重命名为其他名称(我推荐),也可以通过在模块前面加上前缀来调用异步任务,在这种情况下,它看起来像这样:
Swift.Task {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
由于您必须在任何地方都这样做,因此我强烈建议您重命名您的实体。
| 归档时间: |
|
| 查看次数: |
1130 次 |
| 最近记录: |