无法从CoreData

时间:2015-05-21 14:28:49

标签: ios swift core-data

我的coredata模型中有一对多关系。对于每个新闻对象,我都有很多细节对象。

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

}

那么,如何从Job中删除所有细节?我目前的方法是删除Job本身并再次创建它,这是较慢的。

我试图删除,

context?.deletedObjects(myJob.detail)

但它不起作用。它说

  

'(@ lvalue NSOrderedSet) - > _'与'Set'

不同

1 个答案:

答案 0 :(得分:0)

您似乎将deleteObject()deletedObjects()混为一谈。

deletedObjects()是一种获取所有托管对象列表的方法 已在管理对象上下文中标记为删除。你需要调用的是deleteObject() 为每个对象。像(不是编译器检查)的东西:

for detail in myJob.details {
   context.deleteObject(detail)
}