gpt4 book ai didi

ios - 将数据添加到 CoreData 需要很多时间

转载 作者:行者123 更新时间:2023-11-29 05:28:53 26 4
gpt4 key购买 nike

//添加核心数据的代码。有 2000 个联系人需要添加。但添加 2000 条数据需要 45 秒。

func addData(contacts: [CNContact]) {
for data in contacts {
let context = appDelegate.persistentContainer.viewContext
let entity = NSEntityDescription.entity(forEntityName: entityName, in: context)
let newUser = NSManagedObject(entity: entity!, insertInto: context)
newUser.setValue(data.identifier, forKey: "contactIdentifier")
newUser.setValue(data.familyName, forKey: "finalName")
newUser.setValue(data.givenName, forKey: "givenName")
newUser.setValue(data.phoneNumbers.first?.value.value(forKey: "stringValue") as? String ?? "", forKey: "phoneNumber")
do {
try context.save()
} catch {
UIUtility.showErrorAlert("", message: Constants.errorMessage)
}
}

}

最佳答案

首先将此行移到循环之前,因为您只需要执行一次

let context = appDelegate.persistentContainer.viewContext

然后将接下来的两行替换为

let newUser = NSEntityDescription.insertNewObject(forEntityName entityName, into: context)

所以函数的开头应该是这样的

let context = appDelegate.persistentContainer.viewContext
for data in contacts {
let newUser = NSEntityDescription.insertNewObject(forEntityName entityName, into: context)
//...

关于ios - 将数据添加到 CoreData 需要很多时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57870940/

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