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

sek*_*san 3 core-data ios swift

该实体是"用户",它有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)
Run Code Online (Sandbox Code Playgroud)

先感谢您

Fre*_*ust 9

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

    let appDel  = UIApplication.sharedApplication().delegate as! AppDelegate
    let context = appDel.managedObjectContext!

    var fetchError : NSError?

    let fetchPredicate = NSPredicate(format: "email == %@", "dog@gmail.com")

    let fetchUsers                      = NSFetchRequest(entityName: "User")
    fetchUsers.predicate                = fetchPredicate
    fetchUsers.returnsObjectsAsFaults   = false


    let fetchedUsers = context.executeFetchRequest(fetchUsers, error: &fetchError) as! [NSManagedObject]

    for fetchedUser in fetchedUsers {

        var deleteUserError: NSError?

        context.deleteObject(fetchedUser)
        context.save(&deleteUserError)
    }
Run Code Online (Sandbox Code Playgroud)