1
我是Swift的新手。我很擔心如何實現一個功能。如果用戶選擇並取消選擇應該保存在數組中的數據,並且數組中的記錄稍後保存到核心數據中,則我有一個具有多個選擇的表視圖。我嘗試了很多方法,但它只存儲一條記錄。如何在覈心數據中保存多條記錄
我是Swift的新手。我很擔心如何實現一個功能。如果用戶選擇並取消選擇應該保存在數組中的數據,並且數組中的記錄稍後保存到核心數據中,則我有一個具有多個選擇的表視圖。我嘗試了很多方法,但它只存儲一條記錄。如何在覈心數據中保存多條記錄
您必須遍歷每個記錄的數組並創建一個新的[NSEntityDescription insertNewObjectForEntityForName]對象。下面是一個接受coreDataEntityName和一個記錄數組的常用方法的例子。可以說你的實體名稱是Record,它具有屬性作爲名稱,然後你可以從數組中設置屬性,然後保存上下文。
func insertItems(coreDataTable : String, records: NSArray) -> Bool {
let error: NSError?
for(item in records as NSDictionary!) {
let entity = NSEntityDescription.entityForName(coreDataTable, inManagedObjectContext: self.managedContext)
var record = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: managedContext) as Record!
record.name = item["name"]
if (!self.mainObjectContext.save()) {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
//abort();
return false
}
}
return true
}
這將添加所有記錄。
此代碼引發多個語法錯誤。請檢查 – amish
我的猜測是:您只創建一個* single *記錄並多次修改並保存相同的記錄。但是沒有看到你的代碼,就不可能回答這個問題。 –
向我們顯示您的代碼。 –