コアデータから配列を読み取ろうとしています。NSManagedObjectContextを使用してデータを読み取ることができません
-(NSArray *)getAges
{
NSArray *fetchedObjects = [[NSArray alloc] init];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSManagedObjectContext *context = nil;
context = [[NSManagedObjectContext alloc] init];
@try {
NSPersistentStoreCoordinator *tempCordinator = (NSPersistentStoreCoordinator *)[(AppDelegate *)[[UIApplication sharedApplication] delegate] persistentStoreCoordinator];
[context setPersistentStoreCoordinator:tempCordinator];
NSError *error;
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Age"
inManagedObjectContext:context];
[fetchRequest setEntity:entity];
fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
}
@catch (NSException *exception) {
NSLog(@"core data exception occured.");
fetchedObjects = nil;
}
[fetchRequest release];
[context release];
return fetchedObjects;
}
今すぐメインスレッドでは、IBActionメソッドでは、私はライン以下の記述は以下のように私のコードです。
[NSThread detachNewThreadSelector:@selector(loadAgesMethod) toTarget:self withObject:nil];
問題は、このメソッドは私に20個の要素の配列を返します。私は配列数20を見ることができますが、デバッガでは、配列のすべての要素に対して、私は '範囲外'と '要約利用不可'を参照してください。そして、この配列からオブジェクトを取得しようとすると、何も得られません。言及しなければならないことの1つは、私が上記のようにセカンダリスレッドからloadAgesMethodでこのメソッドgetAgesを呼び出すことです。これは私の必要条件です。また、私はメインスレッドからこの配列を取得しようとすると、私はすべてのデータを完全にokを取得します。
誰でも私に間違いがありますか?
お礼