gpt4 book ai didi

ios - 将数组保存为核心数据中的数据的正确方法是什么?

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

作为标题,我有一个包含多个对象的数组,我希望将它们存储在核心数据中(我知道我们不能将数组保存到核心数据中,所以我将我的代码分解为 json[0][i]["ID"].int 格式),也许看完我的代码你会更清楚

let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context:NSManagedObjectContext = appDel.managedObjectContext
let newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context) as NSManagedObject

socket.on("reply") {data, ack in
let json = JSON(data)
print("database replied")
print(json[0].count)

for var i=0; i<json[0].count; ++i{
newUser.setValue(json[0][i]["ID"].int, forKey: "patientID")
newUser.setValue(json[0][i]["Name"].string, forKey: "patientName")
newUser.setValue(json[0][i]["Mileage"].double, forKey: "patientMileAge")
do{
try context.save()
}catch{
print("Could not save data")
}
}
}

这就是我的数据的样子 data

麻烦来了,结果只得到[ID:4, Name:'hung', Mileage:'0.23'],之前的2个数组都被替换了。

为什么我不能按预期保存它们?

最佳答案

let newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context) as NSManagedObject

应该在循环内,否则你创建一个对象然后重复更新它并保存更改(所以旧值被覆盖)

关于ios - 将数组保存为核心数据中的数据的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35087723/

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