小编bar*_*mes的帖子

'className'的NSManagedObject必须具有有效的NSEntityDescription.错误

我在CDModel.xcdatamodeld中创建了一个简单的实体'CDWorkout',其中一个属性'name'.AppDelegate中的容器名称也是"CDModel"."CDWorkout"的类Codegen是类别/扩展名.这是CDWorkout类的代码:

class CDWorkout: NSManagedObject {

    class func createWorkout(workoutInfo : Workout, in context: NSManagedObjectContext) -> CDWorkout{
        let workout = CDWorkout(context: context)
        workout.name = "anyName"
        return workout
    }
}
Run Code Online (Sandbox Code Playgroud)

createWorkout函数是从另一个带有上下文参数的viewController调用的,container.viewContext但它会立即崩溃并显示消息:

由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'类'Workout_Generator.CDWorkout'的NSManagedObject必须具有有效的NSEntityDescription.

我忘记了什么?

core-data swift

18
推荐指数
7
解决办法
6447
查看次数

Swift - 不等待异步返回

我希望能够让该函数doSomething()class B存在async并且不阻止它的调用者线程。但使用以下代码我收到此错误:

无法将“() async -> Void”类型的函数传递给需要同步函数类型的参数

并且 xcode 尝试强制该doSomething()函数class B成为async

class A {
    func doSomething() async throws {
       //perform 
    }
}

class B {
   let a = A()
   func doSomething() {
      DispatchQueue.global().async {
        do {
           await try a.doSomething()
        } catch {
           print(error)
        }
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

ios async-await swift structured-concurrency

7
推荐指数
1
解决办法
1万
查看次数