【问题标题】:delete past save entries of core data in swift快速删除过去保存的核心数据条目
【发布时间】:2016-02-10 13:50:05
【问题描述】:

我有一个问题,我无法完全删除存储在核心数据实体中的数据。我将用户名和密码存储在登录系统中。

我知道使用 .deleteObject() 方法,但老实说,我不确定这是否真的有效,因为我执行打印语句来检查控制台中存储的内容,并且它似乎没有被删除

这是我的代码:

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    let context: NSManagedObjectContext = appDelegate.managedObjectContext

    //add user to core data

    let user = NSEntityDescription.insertNewObjectForEntityForName("User", inManagedObjectContext: context)

    do{

    try context.save()

    }catch{

    print("there was an error saving to core data")

    }

    do{

        let request = NSFetchRequest(entityName: "User")
        let results = try context.executeFetchRequest(request)

        if results.count > 0{
            for item in results as! [NSManagedObject]{

                let username = item.valueForKey("username")
                let password = item.valueForKey("password")

                context.deleteObject(item)

                print("aawawaw \(username), \(password)")

            }

        }

    }catch{

        print("there was an error")

    }

【问题讨论】:

  • 如果将item的属性存储在常量中,然后删除item,常量仍然有它们的值。这绝不表示删除成功。
  • 我知道这一点,但是如果您查看我的图片,则不会从过去的条目中删除任何内容
  • 只是说测试成功会帮助你更快的找到问题的原因。无论如何,删除后保存上下文。

标签: swift core-data


【解决方案1】:

您正在打印存储在 let 常量中的值。 尝试在for循环中实现

            context.deleteObject(item)
            let username = item.valueForKey("username")
            let password = item.valueForKey("password")
            print("aawawaw \(username), \(password)")

【讨论】:

    【解决方案2】:

    您并没有真正从 CD 中删除对象。

    你应该:

    1. 删除对象。
    2. 存储上下文
    3. 然后对实体执行新的提取
    4. 打印实体的所有实例

    你实际做的是不同的:

    1. 存储上下文(随其变化,但注意与您的问题相关)
    2. 获取实体
    3. 从 CD 上下文中删除对象
    4. 打印虽然已从 CD 中分离但仍然存在的对象。
    5. 至于 t。你正在做: 我们可以看到,您没有保存任何内容,因此也没有保存已删除的状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多