NSArray *theArray = [[notification userInfo] objectForKey:@"myArray"];
for (NSDictionary * dict in theArray) {
CustomerOrder * newEntry = [NSEntityDescription insertNewObjectForEntityForName:@"CustomerOrder"
inManagedObjectContext:self.managedObjectContext];
[newEntry setValue:[dict objectForKey:@"customer_id"] forKey:@"customer_id"];
[newEntry setValue:[dict objectForKey:@"ExecutedOrderCount"] forKey:@"executedOrderCount"];
[newEntry setValue:[dict objectForKey:@"order_id"] forKey:@"order_id"];
[newEntry setValue:[dict objectForKey:@"outletLatitude"] forKey:@"outletLatitude"];
[newEntry setValue:[dict objectForKey:@"outletLongitude"] forKey:@"outletLongitude"];
[newEntry setValue:[dict objectForKey:@"trigger_days"] forKey:@"trigger_days"];
[newEntry setValue:[dict objectForKey:@"trigger_end_date"] forKey:@"trigger_end_date"];
[newEntry setValue:[dict objectForKey:@"trigger_from_time"] forKey:@"trigger_from_time"];
[newEntry setValue:[dict objectForKey:@"trigger_no_days"] forKey:@"trigger_no_days"];
[newEntry setValue:[dict objectForKey:@"trigger_radius"] forKey:@"trigger_radius"];
[newEntry setValue:[dict objectForKey:@"trigger_start_date"] forKey:@"trigger_start_date"];
[newEntry setValue:[dict objectForKey:@"trigger_to_time"] forKey:@"trigger_to_time"];
NSLog(@"Log %@", newEntry);
[SharedAppDelegate saveContext];
}
回答
您在self.managedObjectContext
創建實體,而是爲節省話費[SharedAppDelegate saveContext];
你可以嘗試後NSLog
NSError * err = nil;
[newEntry.managedObjectContext save:&err];
NSLog(@"error: %@", err.localizedDescription);
和循環調用保存在之後添加以下代碼父上下文
__weak typeof (self) weakSelf;
[self.managedObjectContext.parentContext performBlock:^(){ [weakSelf.managedObjectContext.parentContext save:NULL] }];
錯誤越來越null.but在數據庫中,如果我檢查沒有創建表,它顯示。 – user3420042
你如何檢查? – sage444
這是我的文件路徑,我用sqllite瀏覽器打開它。 ///Users/vishnuemani/Library/Application%20Support/iPhone%20Simulator/7.1/Applications/4BC11011-F80F-41C7-870A-99F3666E678F/Documents/CoreData.sqlite – user3420042
只是使用
NSEntityDescription *entityDesc=[NSEntityDescription entityForName:@"CustomerOrder" inManagedObjectContext:self.managedObjectContext];
NSFetchRequest *request=[[NSFetchRequest alloc]init];
[request setEntity:entityDesc];
NSManagedObject * newEntry =[[NSManagedObject alloc]initWithEntity:entityDesc insertIntoManagedObjectContext:self.managedObjectContext];
....
NSError *error;
[self.managedObjectContext save:&error];
希望這將有助於..
試試這個代碼
NSArray *theArray = [[notification userInfo] objectForKey:@"myArray"];
for (NSDictionary * dict in theArray) {
//TypeCast here
CustomerOrder* newEntry = (CustomerOrder *)[NSEntityDescription insertNewObjectForEntityForName:@"CustomerOrder"
inManagedObjectContext:self.managedObjectContext];
[newEntry setValue:[dict objectForKey:@"customer_id"] forKey:@"customer_id"];
[newEntry setValue:[dict objectForKey:@"ExecutedOrderCount"] forKey:@"executedOrderCount"];
[newEntry setValue:[dict objectForKey:@"order_id"] forKey:@"order_id"];
[newEntry setValue:[dict objectForKey:@"outletLatitude"] forKey:@"outletLatitude"];
[newEntry setValue:[dict objectForKey:@"outletLongitude"] forKey:@"outletLongitude"];
[newEntry setValue:[dict objectForKey:@"trigger_days"] forKey:@"trigger_days"];
[newEntry setValue:[dict objectForKey:@"trigger_end_date"] forKey:@"trigger_end_date"];
[newEntry setValue:[dict objectForKey:@"trigger_from_time"] forKey:@"trigger_from_time"];
[newEntry setValue:[dict objectForKey:@"trigger_no_days"] forKey:@"trigger_no_days"];
[newEntry setValue:[dict objectForKey:@"trigger_radius"] forKey:@"trigger_radius"];
[newEntry setValue:[dict objectForKey:@"trigger_start_date"] forKey:@"trigger_start_date"];
[newEntry setValue:[dict objectForKey:@"trigger_to_time"] forKey:@"trigger_to_time"];
NSLog(@"Log %@", newEntry);
//Save all
NSError *error = nil;
if (![self.managedObjectContext save:&error]) {
// Handle Error
NSLog(@"Save Error: %@, %@", error, [error userInfo]);
return NO;
}
}
- 1. 核心數據:數據不存儲到數據庫(SWIFT)
- 2. 核心數據數據庫不保存
- 3. Mac OSX - 核心數據未被存儲
- 4. 存儲NSAttributedString核心數據
- 5. 核心數據不存在
- 6. 核心數據不會保存數據
- 7. 核心數據數據庫持久存儲位置已更改
- 8. 核心數據對象不會存儲
- 9. 核心數據存儲不必要的數據
- 10. 與核心數據的數據庫
- 11. 核心數據:刪除存儲在覈心數據中的視圖
- 12. 在覈心數據中存儲UUID
- 13. 在覈心數據中存儲NSDate(swift)
- 14. 在覈心數據中存儲MKRoute
- 15. 在覈心數據中存儲ABRecordRef
- 16. 在覈心數據中存儲NSInteger
- 17. 將核心數據存儲在NSOperation中
- 18. 如何查看存儲在覈心數據中的數據?
- 19. 在iPhone上的核心數據中存儲二進制數據
- 20. 核心數據一對多關係不存儲其數據
- 21. 存儲核心數據的日期
- 22. 不在數據庫中存儲數據
- 23. 保存在覈心數據
- 24. 核心數據/數據庫IOS
- 25. 核心數據保存到數據庫不工作
- 26. Xcode-將數據存儲在覈心數據或SQLite中?
- 27. 將XML數據存儲在覈心數據中
- 28. 如何在覈心數據中存儲CLPlacemark地址數據
- 29. 我的數據庫數據在哪裏(核心數據,iOS)
- 30. 未保存核心數據數據
我建議你使用newEntry [@ 「trigger_radius」] =字典[@ 「trigger_radius」 ]。它使你的代碼更具可讀性。另外,請說明如何保存上下文,並顯示如何知道它未保存(即顯示您的獲取代碼)。 – Joride
我已經將[sharedAppDelegate savecontext]更改爲 [newEntry.managedObjectContext save:&err] NSLog(@「error:%@」,err.localizedDescription);我已經完成了它,我不知道如何獲取.I' m手動檢查sqllite瀏覽器,顯示沒有找到表格。請提供一些幫助。 – user3420042
新入口也許是零?你的日誌語句的輸出是什麼?你還可以顯示抓取代碼嗎?你檢查BOOL的save:方法返回嗎? – Joride