私は、NSManagedObjects のリストを取得する方法を見つけようとして髪を引き裂き、それらを別のビューに渡しています。
これが私のフェッチです
+ (NSArray *)fetchListOfParentSectors;
{
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Sector"];
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"parent_id = -1"]];
NSManagedObjectContext *moc = [[NSManagedObjectContext alloc] init];
[moc setPersistentStoreCoordinator: [[JobDataModel sharedDataModel] persistentStoreCoordinator]];
NSError *error = nil;
NSArray *results = [moc executeFetchRequest:fetchRequest error:&error];
if (error) {
NSLog(@"ERROR: %@ %@", [error localizedDescription], [error userInfo]);
exit(1);
}
return results;
}
ここにセクタ名を記録するためにここにループを入れると、完全に機能します。
今、私のView Controllerにはこれがあります:
NSArray *objectArray = [FetchSectors fetchListOfParentSectors];
for (int i = 0; i < objectArray.count; i++) {
Sector *sector = (Sector *)[objectArray objectAtIndex: i];
NSLog(@"name = %@", sector.name);
}
NSLog(@"objects = %@", objectArray);
name return (null) のログ結果。正しい量のオブジェクトが返されているため、配列が空ではないことはわかっています。ログには、次のようにリストされた一連のオブジェクトが表示されます。
"<Sector: 0xac91020> (entity: Sector; id: 0xac8e900 <x-coredata://19C94F15-0A5B-4A40-8E68-17FE6C4950F8/Sector/p4> ; data: <fault>)"
私がここで見落としている単純なものがなければなりません..