如何清空整个核心数据表?

时间:2015-06-29 00:56:58

标签: ios swift core-data

我需要能够清除一个简单的独立(非关系)表。 是否有一个简单的命令/动词来执行此操作?

1 个答案:

答案 0 :(得分:1)

通过“清除表格”我假设您的意思是删除特定类型的所有实体。唯一的方法是获取所有并删除。

我会将您推荐给this answer,但我会在下面转到Swift。

假设您有一个名为context的NSManagedObjectContext:

let fetchRequest = NSFetchRequest(entityName: "myEntity")
fetchRequest.includesSubentities = false

if let objects = context.executeFetchRequest(fetchRequest, error: nil) as? [NSManagedObject] {
    for each in objects {
        context.deleteObject(each)
    }
}

context.save(nil)

请注意,我完全忽略了错误处理,因此您也需要在出发时检查错误。