从CoreData中的属性中删除所有数据

时间:2017-07-10 10:06:36

标签: ios swift core-data

如何从属性中删除属性 <name>非实体中的所有数据。我有一个实体名称 - 用户,属性 - 名称,我不知道如何从属性中删除所有数据。

2 个答案:

答案 0 :(得分:1)

您必须将attibute设置为 nil 并保存context。这是您必须从实体中删除属性的方法。您无法像删除coreData中的实体一样删除它。

答案 1 :(得分:1)

删除可以使用此功能的所有数据

func deleteAllData(entity: String) {

    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    let managedContext = appDelegate.managedObjectContext
    let fetchRequest = NSFetchRequest(entityName: entity)
    fetchRequest.returnsObjectsAsFaults = false

    do
    {
        let results = try managedContext.executeFetchRequest(fetchRequest)
        for managedObject in results
        {
            let managedObjectData:NSManagedObject = managedObject as! NSManagedObject
            managedContext.deleteObject(managedObjectData)
            print("Deleted")
        }

    } catch let error as NSError {
        print(error)
    }
}

然后调用这个函数

deleteAllData(entity: "your Entity name")