gpt4 book ai didi

快速请求 coredata 并删除

转载 作者:行者123 更新时间:2023-11-30 14:06:57 25 4
gpt4 key购买 nike

我想请求我的所有核心数据,其中“mhd”字段 >= 今天的日期。这段代码工作正常:

 func DatenAbrufen() {

let calendar = NSCalendar.currentCalendar()
let AktuellesDatum = calendar.startOfDayForDate(NSDate())
let fetchRequest = NSFetchRequest(entityName: "LM_ITEMS")
fetchRequest.predicate = NSPredicate(format: "mhd >= %@", AktuellesDatum)




if let fetchResults = managedObjectContext!.executeFetchRequest(fetchRequest, error: nil) as? [LM_ITEMS] {
lebensmittel = fetchResults
}
}

如何在此查询中删除所有其他数据,其中“mhd”不 >= 今天的日期?

最佳答案

如果您需要支持 iOS 8.x、OS X Yosemite 或更早版本,则需要获取每个对象,然后将其删除。编写与您所拥有的谓词相反的另一个谓词。执行该获取请求。然后迭代找到的对象并向每个对象发送一个 deleteObject。保存您的托管对象上下文。如果您要删除大量对象,这可能需要相当长的时间。

对于 iOS 9 和 El Capitan,您可以使用 NSBatchDeleteRequest,如 WWDC 2015 session 220 中所述。 。对于大量删除的对象,NSBatchDeleteRequest 速度要快得多。您不会将每个对象加载到内存中只是为了删除它。您还绕过了一些验证规则,并且必须刷新您的 MOC 才能看到更改 - 这可能会产生不良后果,具体取决于您的使用情况。

关于快速请求 coredata 并删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32255653/

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