Me avergoncé cuando busqué mis datos de NSManagedObjectContext

Ejecuté mi aplicación y luego busqué mis datos. Los datos están bien. Cuando corro la segunda vez, tengo problemas con mis viejos valores. ¿Qué está mal?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSEntityDescription *entity = [NSEntityDescription entityForName:@"Test" inManagedObjectContext:[self managedObjectContext]]; for (int i =0; i<2; i++) { Test *test = [[[Test alloc] initWithEntity:entity insertIntoManagedObjectContext:[self managedObjectContext]] autorelease]; test.text = @"Text"; test.index = [NSNumber numberWithInt:i]; } [self saveContext]; } -(void) showValues { NSEntityDescription *entity = [NSEntityDescription entityForName:@"Test" inManagedObjectContext:[self managedObjectContext]]; NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease]; [request setEntity:entity]; NSError *error; NSArray *array = [[self managedObjectContext] executeFetchRequest:request error:&error]; NSLog(@"Array: %@ ", array); } 

primer bash

 2012-01-22 21:48:52.092 Mew[411:707] Array: ( "<Test: 0x183f60> (entity: Test; id: 0x1856b0 <x-conetworkingata://90165BCF-D2DE-4661-9B12-33EF86F0C09F/Test/p1> ; data: {\n index = 0;\n text = Text;\n})", "<Test: 0x184940> (entity: Test; id: 0x1857e0 <x-conetworkingata://90165BCF-D2DE-4661-9B12-33EF86F0C09F/Test/p2> ; data: {\n index = 1;\n text = Text;\n})" ) 

segunda ejecución // los primeros y segundos valores son culpa

 2012-01-22 21:50:29.892 Mew[429:707] Array: ( "<Test: 0x16c950> (entity: Test; id: 0x16c720 <x-conetworkingata://90165BCF-D2DE-4661-9B12-33EF86F0C09F/Test/p1> ; data: <fault>)", "<Test: 0x16d130> (entity: Test; id: 0x16c730 <x-conetworkingata://90165BCF-D2DE-4661-9B12-33EF86F0C09F/Test/p2> ; data: <fault>)", "<Test: 0x1684c0> (entity: Test; id: 0x16bfd0 <x-conetworkingata://90165BCF-D2DE-4661-9B12-33EF86F0C09F/Test/p3> ; data: {\n index = 0;\n text = Text;\n})", "<Test: 0x16ab90> (entity: Test; id: 0x16c100 <x-conetworkingata://90165BCF-D2DE-4661-9B12-33EF86F0C09F/Test/p4> ; data: {\n index = 1;\n text = Text;\n})" ) 

<fault> no significa que sus datos estén dañados. Significa que está vinculado dinámicamente con los resultados obtenidos y el object real se cargará cuando se intente acceder a cualquier valor / propiedad del object. restring: has usado @dynamic en el file .m? Es por eso que muestra <fault> cuando NSLog con array y falla desaparece cuando accede a cualquier propiedad del object NSLog(@"Test: %@ ", test.text);

Solucioné un error

Acabo de cambiar de

  NSLog(@"Array: %@ ", array); 

a

 for (Test *test in array) { NSLog(@"Test: %@ ", test.text); } 

y la falla fue desaparecida