クラス _NSObjectID_48_1 が何をするか知っている人はいますか??
わかりました、私はこれをやっています: オブジェクト Schedule の属性 (説明、日付、および個人データ) を 2 つの日付の間に取得します。これは、オブジェクト Operator とも一方向のみ (Schedule -> Operator) で関係があります。フェッチはデータを取得しますが、Operator のプロパティ ('name' など) にアクセスしようとすると、アプリがクラッシュし、「_NSObjectID_48_1」がセレクターに応答しないことが通知されます。もちろん、フェッチ中に次の行を有効にしました。
[request setRelationshipKeyPathsForPrefetching:[NSArray arrayWithObject:entityToPrefetch]];
これは、Schedule オブジェクト全体ではなく、取得するプロパティを設定する方法です。また、データを取得するときは、「NSDictionaryResultType」として設定されます。そうしないと、データを正しく取得できないと文句を言うからです。
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Operator"
inManagedObjectContext:[AppDelegate managedObjectContext]];
NSDictionary *relationship = [entity relationshipsByName];
NSDictionary *entityProperties = [entity propertiesByName];
NSArray *properties = [[NSArray alloc] initWithObjects:[entityProperties objectForKey:@"description"],
[entityProperties objectForKey:@"date"],
[relationship objectForKey:@"personalData"],nil];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"date >= %@ && \
date <= %@",
[dateArray objectAtIndex:0],
[dateArray lastObject]];
schedArray = "EXECUTE FETCH"
SLog(schedArray);
SLog([schedArray objectAtIndex:0]);
SLog([[schedArray objectAtIndex:0] objectForKey:@"employee"]);
VoicePickOperators *employee = (VoicePickOperators *)[[schedArray objectAtIndex:0] objectForKey:@"employee"];
SLog(employee);
SLog([employee name]); <<------ Problem, I am trying to access an attribute that should be there but instead is of the type __NSObjectID_48_1
SLog([employee description]);
誰がこれが起こっているのか知っていますか??
ありがとう!!