Hiện tại tất cả các lần lưu của tôi sẽ lưu vào bộ nhớ nhưng không được ghi ra đĩa (iOS). Ứng dụng của tôi được thiết lập với UITableView
với Chế độ xem phương thức bổ sung được trình bày trong phần này để tạo nội dung, khi người dùng hoàn tất việc tạo nội dung và nút lưu được nhấp vào mục mới (lớp NSManagedObject được tạo bởi Mô hình CoreData của tôi). và nó được điền đầy đủ ngay lập tức sau này tôi cố gắng lưu nó vào đĩa và một thông báo lỗi được tạo ra với cùng một ID đối tượng ngoại trừ các trường là không. Tuy nhiên, giữa các phương thức UITableViews của tôi - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
được gọi là đang ghi nhật ký @"CanEdit"
.CoreData 1570 Mã lỗi
Có ai có thể xem tôi đang làm gì sai không?
Đây là mã
NSLog(@"newItem %@", newItem);
NSError *error;
if (![newItem.managedObjectContext save:&error]) {
// Handle the error.
NSLog(@"%@", error);
}
if (editItem) {
[self.navigationController popViewControllerAnimated:YES];
} else {
[self dismissModalViewControllerAnimated:YES];
}
Và đây là lỗi của tôi
2011-10-22 15:24:46.322 App[42115:fb03] newItem <Item: 0x81a4a30> (entity: Item; id: 0x81a0ab0 <x-coredata:///Item/t7F2B54D2-0DCC-4530-88D5-900BE25C7DC23> ; data: {
containedIn = "0x6e89010 <x-coredata:///Item/t7F2B54D2-0DCC-4530-88D5-900BE25C7DC22>";
contains = (
);
content = a;
dateLastUsed = nil;
depth = 0;
encrypted = 0;
favorite = 0;
favoritePosition = nil;
folder = 0;
fullPath = "^Templates^Add Title";
name = a;
sortPosition = 0;
})
2011-10-22 15:24:46.323 App[42115:fb03] CanEdit
2011-10-22 15:24:46.326 App[42115:fb03] Error Domain=NSCocoaErrorDomain Code=1570 "The operation couldn’t be completed. (Cocoa error 1570.)" UserInfo=0x6ecc490
{NSValidationErrorObject=<Item: 0x6e88fb0> (entity: Item; id: 0x6e89010 <x-coredata:///Item/t7F2B54D2-0DCC-4530-88D5-900BE25C7DC22> ; data: {
containedIn = nil;
contains = (
"0x81a0ab0 <x-coredata:///Item/t7F2B54D2-0DCC-4530-88D5-900BE25C7DC23>"
);
content = nil;
dateLastUsed = nil;
depth = 0;
encrypted = 0;
favorite = 0;
favoritePosition = nil;
folder = 1;
fullPath = "^Templates^";
name = Templates;
sortPosition = 0;
}), NSValidationErrorKey=content, NSLocalizedDescription=The operation couldn’t be completed. (Cocoa error 1570.)}
bản sao có thể có của [Lỗi dữ liệu lõi của iPhone chưa được giải quyết trong khi lưu] (http://stackoverflow.com/questions/1283960/iphone-core-data-unresolved-error-while-saving) – millimoose
Tôi thấy rằng trước đó, tôi biết lỗi này là do một trường bắt buộc không được thiết lập nhưng câu hỏi của tôi là tại sao nó đi từ được thiết lập để không được thiết lập ngay lập tức sau đó? – xizor
Thông báo lỗi là dành cho một thực thể khác ('0x81a0ab0') so với thông báo lỗi bạn đang ghi (' 0x6e89010') và có vẻ như thông báo lỗi có chứa thông báo lỗi khác. Core Data có hỗ trợ tầng không? Nếu có, điều đó có nghĩa là bạn đang thực sự tiết kiệm hai đối tượng với một cuộc gọi, và các thuộc tính của đối tượng container là không. – millimoose