gpt4 book ai didi

swift - 如何删除 CoreData Swift 3 中的所有实体对象

转载 作者:行者123 更新时间:2023-11-28 09:25:50 25 4
gpt4 key购买 nike

所以我有这段代码可以正常工作,但我想要一个更好的代码。

func deleteCoreDataObjects() {
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext

//where groupData is an Array of an Entity
for i in 0..<self.groupData.count {
context.delete(groupData[i])
}


(UIApplication.shared.delegate as! AppDelegate).saveContext()

}

目前我正在通过 for 循环一个一个地删除对象。

最佳答案

你可以试试这个:

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)
}
} catch let error as NSError {
print("Detele all data in \(entity) error : \(error) \(error.userInfo)")
}
}

用法:

self.deleteAllData("your_entityName")

已见于:https://stackoverflow.com/a/33931528/2894160

关于swift - 如何删除 CoreData Swift 3 中的所有实体对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41059238/

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