我有这样的核心数据模型:(DashboardEntity是访问和登录的母公司) 追加儿童各个实体的核心数据的iOS斯威夫特
现在,我的子类DashboardEntity
成从NSManagedObject
继承的类。我也分类VisitEntity
和LogEntity
,都从DashboardEntity
继承。
我要附加到DashboardEntity
的条目,但我想这个条目是VisitEntity
,这应该是可能的,因为它继承DashboardEntity
,像这样:
// Fething dashboard entity
var dashboard = [DashboardEntity]()
let fetchRequest = NSFetchRequest(entityName: "DashboardEntity")
// Returning results as an array of DashboardEntities
do {
let results = try managedContext.executeFetchRequest(fetchRequest)
dashboard = results as! [DashboardEntity]
} catch let error as NSError {
print("Could not fetch \(error), \(error.userInfo)")
}
// Point to DashboardEntity from my database
let entity = NSEntityDescription.entityForName("DashboardEntity", inManagedObjectContext:managedContext)
// Here I create an object of type VisitEntity, that takes an extra parameter that converts json to properties
let person: VisitEntity = VisitEntity (entity: entity!, insertIntoManagedObjectContext: managedContext, jsonData: index)
// I append this new object to
do {
try managedContext.save()
dashboard.append(person)
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}
但出现错误:
“无法识别的选择器发送到实例”,setManager是选择器 (来自VisitEntity,因为它在DashboardEntity上不可用)。
如果我有一个X对象的正常排列,我想补充一点,从它继承我能做到这一点在斯威夫特的对象,为什么它不与核心数据NSManagedObjects工作?
它工作正常,如果我添加一个DashboardEntity对象。
这样做的原因是我有一个UITableViewController
可以包含访问和日志,具体取决于它是哪个单元格表有一些选项或其他。
谢谢大家!
代码不调用'setManager'。什么代码导致错误? –