在coredata模型中,我有一对多的关系。对于每个News对象,我都有许多details对象。
class Job: NSManagedObject {
@NSManaged var name: String
@NSManaged var count: NSNumber
@NSManaged var id: String
@NSManaged var startDate: NSDate
@NSManaged var finishDate: NSDate
@NSManaged var expected: NSDate
@NSManaged var isFinished: NSNumber
@NSManaged var sender: String
@NSManaged var receiver: String
@NSManaged var details: NSOrderedSet
}
class JobDetail: NSManagedObject {
@NSManaged var message: String
@NSManaged var date: NSDate
@NSManaged var location: String
@NSManaged var status: NSNumber
@NSManaged var parent: Job
}那么,我如何从作业中删除所有细节呢?我目前的方法是删除作业本身,并再次创建它,这是比较慢的。
我试着删除,
context?.deletedObjects(myJob.detail)但没起作用。上面写着
'(@lvalue NSOrderedSet) -> _‘与'Set’不完全相同
发布于 2015-05-21 14:46:45
看来你把deleteObject()和deletedObjects()混在一起了。
deletedObjects()是一种获取在托管对象上下文中标记为删除的所有托管对象的列表的方法。您必须为每个对象调用deleteObject()。类似于(不是编译器检查):
for detail in myJob.details {
context.deleteObject(detail)
}https://stackoverflow.com/questions/30376738
复制相似问题