gpt4 book ai didi

ios - 如何覆盖核心数据中的数据?如何解决Core Data中的重复数据?

转载 作者:行者123 更新时间:2023-11-30 13:26:59 25 4
gpt4 key购买 nike

我正在从服务器获取数据,然后将所有数据保存到 Core Data。但是当我保存它时,它会创建多个副本(重复数据)。

我的问题是:

  1. 如何处理Core Data中的重复数据?

  2. 如何在 CoreData 中使用 Swift 保存覆盖数据?

最佳答案

要将新数据保存到核心数据中,您可以删除核心数据中的所有记录,然后将所有记录保存到核心数据中。

这是从核心数据中删除所有记录的函数。您可以在将记录保存到核心数据之前调用此函数。

 func deleteEverything()
{
let appDel = UIApplication.sharedApplication().delegate as! AppDelegate
let context = appDel.managedObjectContext
let coord = appDel.persistentStoreCoordinator

let fetchRequest = NSFetchRequest(entityName: "Categorytbl") // Your entity name
if #available(iOS 9.0, *)
{
let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)
do
{
try coord.executeRequest(deleteRequest, withContext: context)
}
catch let error as NSError
{
debugPrint(error)
}
}
else
{
// Fallback on earlier versions
do{
let fetchedObjects : NSArray = try context.executeFetchRequest(fetchRequest)
if(fetchedObjects.count > 0)
{
for currObj in fetchedObjects
{
context.deleteObject(currObj as! NSManagedObject)
}
let _ : NSError! = nil
do {
try context.save()
} catch {
print("Error in Deletion : \(error)")
}
}
}
catch let error as NSError
{
debugPrint(error)
}
}
}

我也遇到了同样的问题。在我这边工作得很好。

关于ios - 如何覆盖核心数据中的数据?如何解决Core Data中的重复数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37063616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com