gpt4 book ai didi

ios - CoreData : warning: Unable to load class named 'x' for entity 'x' . 找不到类,改用默认的 NSManagedObject

转载 作者:行者123 更新时间:2023-11-28 12:18:46 24 4
gpt4 key购买 nike

class CustomPin : NSManagedObject, MKAnnotation {

@NSManaged var lat: Double
@NSManaged var lon: Double
var title : String? = ""

override init(entity: NSEntityDescription, insertInto context: NSManagedObjectContext?) {
super.init(entity: entity, insertInto: context)
}


init(coordinate : CLLocationCoordinate2D , context : NSManagedObjectContext) {
let entity = NSEntityDescription.entity(forEntityName: "CustomPin", in: context)
super.init(entity: entity!, insertInto: context)
self.lat = coordinate.latitude
self.lon = coordinate.longitude


}

var coordinate : CLLocationCoordinate2D {
get {
return CLLocationCoordinate2D(latitude: lat , longitude: lon)

}
set {
self.lat = newValue.latitude
self.lon = newValue.longitude
}
}
}

上面是一个可以作为 NSManagedObject 存储的注解类。

当我尝试使用以下方法初始化此类的对象时:

let pin = CustomPin(coordinate: coordinate, context: moc)

设置 self.lat = coordinate.latitude 时出现以下错误:

CoreData: warning: Unable to load class named 'CustomPin' for entity 'CustomPin'.  Class not found, using default NSManagedObject instead.

据我所知,您在创建子类时不使用 xcdatamodel,因为您只是重新声明该类?

是什么导致了这个错误?

最佳答案

As far as I'm aware you don't use the xcdatamodel when you're making a subclass because you'd just be redeclaring the class?

这是不正确的。如果你想在 Core Data 中使用一个类,数据模型必须包含一个相应的实体。如果不是,则 Core Data 不知道它——您会收到此错误消息。

Core Data 可能会也可能不会为实体创建自己的子类,具体取决于您如何配置数据模型。如果您创建的此类符合您的需要,请确保数据模型表明使用“手动/无”来生成子类。

关于ios - CoreData : warning: Unable to load class named 'x' for entity 'x' . 找不到类,改用默认的 NSManagedObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45524840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com