IOS如何删除核心数据swift中的对象

时间:2015-08-06 15:05:06

标签: ios swift core-data

该实体是“用户”,它有2个属性(电子邮件和密码)。我想删除属性为email =“dog@gmail.com”的用户。我该怎么办?我做到了这一点,但我不知道如何删除属性。这意味着我需要先找到用户,然后进行删除。

    let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    let context:NSManagedObjectContext = appDel.managedObjectContext!
    context.deleteObject(User: NSManagedObject)
    context.save(nil)

提前谢谢

2 个答案:

答案 0 :(得分:9)

你可以使用谓词来限制你的提取只返回你想要的对象,然后你可以删除它,这里有一个例子:

$config['csrf_regenerate'] = FALSE;

答案 1 :(得分:2)

这应该有效:

    let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
    let fetchRequest = NSFetchRequest(entityName: "User")
    if let fetchResults = try!managedObjectContext.executeFetchRequest(fetchRequest) as? [User] {
        for (var i=0; i<fetchResults.count; i++) {
            if fetchResults[i].email == "dog@gmail.com" {
                managedObjectContext.deleteObject(fetchResults[i])
                try!managedObjectContext.save()
            }
        }
     }