あるエンティティからマネージド オブジェクトの配列を取得しています。executeFetchRequest が I NSLog 要素とそのプロパティを返した後、すべて問題ありません。新しく生成した配列を返し、それをバックグラウンド スレッドまたはその他のメソッドで使用しようとすると、配列内のマネージド オブジェクトのプロパティが nil になります。これはコードです:
Utakmice -NSManagedObject サブクラス
- (NSArray*)ucitajPodatke:(NSDate*)zaDatum drzavaId:(int)_drzavaId
{
NSManagedObjectContext *con = [[NSManagedObjectContext alloc] init];
[con setPersistentStoreCoordinator:persistentStoreCoordinator];
[con setStalenessInterval:0];
[con setUndoManager:nil];
// create request and predicate
// set return result type to NSManagedObjectResultType
...
...
return fetchedObjects; -> This works cause I can log everything and all values R OK...
}
-(void)SomeMethod
NSArray *array = [self ucitajPodatke:danas drzavaId:self.drzavaId];
Utakmice *tekma = [array objectAtIndex:0];
NSLog(@"%i", [tekma.uniqueId intValue]); -> everything is fine
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 0.35 * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
if (array != nil && [array count]>0)
{
Utakmice *tekma1 = [array objectAtIndex:0];
DLog(@"%@", tekma1.uniqueId);
DLog(@"%i", [tekma1.uniqueId intValue]); -> all properties have nil value
...
...
助言がありますか??ここからどこへ行けばいいのか本当にわかりません...
もう一つ。ucitajPodatke メソッドで、戻り値の型を NSDictionaryResultType に設定すると、すべて問題ありません... (マネージド オブジェクトが必要なため、リレーションが必要です)... Thx in advanced