Attualmente tutti i miei salvataggi sono in memoria ma non vengono scritti su disco (iOS). La mia app è configurata con un UITableView
con una vista modale aggiunta presentata sopra per creare contenuto, quando l'utente ha terminato di creare il contenuto e il pulsante di salvataggio fa clic sul nuovo elemento (classe NSManagedObject creata dal mio modello CoreData) lo stampo ed è completamente compilato. Immediatamente dopo questo provo a salvarlo su disco e viene prodotto un messaggio di errore con lo stesso ID oggetto eccetto che i campi sono nulli. In ogni caso viene chiamato il mio metodo UITableViews - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
che sta registrando @"CanEdit"
.Codice di errore 1570 CoreData
Qualcuno può vedere cosa sto facendo male?
Ecco il codice
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];
}
e qui è il mio errore
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.)}
possibile duplicato di [iphone Core Data Errore irrisolto durante il salvataggio] (http://stackoverflow.com/questions/1283960/iphone-core-data-unresolved-error-while-saving) – millimoose
L'ho visto prima, lo so questo errore è dovuto al fatto che non è stato impostato un campo obbligatorio, ma la mia domanda è: perché passa dall'essere impostato a non essere impostato subito dopo? – xizor
Il messaggio di errore è per una diversa entità ('0x81a0ab0') rispetto a quella che si sta loggando (' 0x6e89010'), e sembra che uno contenga l'altro. I dati principali supportano il collegamento in cascata? In tal caso, significa che stai salvando due oggetti con una sola chiamata e che gli attributi dell'oggetto contenitore sono nulli. – millimoose