Как заголовок, у меня есть массив из нескольких объектов, и я хочу сохранить их в основных данных (я понимаю, что мы не можем сохранить массив в основных данных, поэтому я разбиваю свой код на 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")
}
}
}
Это то, что мои данные будут выглядеть
Здесь приходит неприятности, я только получить [ID: 4, Название: «hung», «Пробег»: «0,23»], в результате были заменены прежние 2 массива.
Почему я не могу сохранить их так, как я предполагал?
Просто боковое примечание и, возможно, не очень актуально, так как Swift 3.0 займет некоторое время, но C-style for-loops будет обесцениваться d, поэтому, возможно, неплохо начать привыкать к использованию циклов for-in. – Eendje