[英]Trailing closure passed to parameter of type 'MKCoordinateRegion' that does not accept a closure Error
[英]Error "Trailing closure passed to parameter of type 'NSManagedObjectContext' that does not accept a closure" in Swift
我尝试在 Swift 中向我的应用程序添加实时活动。但是当我尝试运行该应用程序时,出现错误消息“尾随闭包传递给不接受闭包的‘NSManagedObjectContext’类型的参数”。 我的应用程序使用核心数据来保存我的应用程序的数据。
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)
}
}
}
如果您创建一个名为 Task 的 CoreData 实体,那么编译器将尝试使用它而不是 Swift Task
结构。
您可以将您的 CoreData 实体重命名为其他名称(我推荐),或者您可以通过在其前面加上模块来调用异步任务,在这种情况下它看起来像这样:
Swift.Task {
// do stuff
}
由于您必须在任何地方都这样做,我强烈建议您改为重命名您的实体。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.