簡単な質問です。このコードの何が問題なのか誰か教えてもらえますか?
+ (NSManagedObject*) managedObjectWithServerId:(NSInteger)serverId inManagedObjectContext:(NSManagedObjectContext*)context{
//Execute request and get all the results
NSError * error = nil;
NSFetchRequest * request = [NSFetchRequest fetchRequestWithEntityName:NSStringFromClass(self)];
request.predicate = [NSPredicate predicateWithFormat:@"serverId == %@" argumentArray:[NSArray arrayWithObject:[NSNumber numberWithInteger:serverId]]];
NSArray * results = [context executeFetchRequest:request error:&error];
}
結果配列は常に 0 オブジェクトの NSArray であり、エラーは発生せず、何も表示されません。ただの 0 カウントの配列です。また、常に 0 の要素を返すことはできません。SQLite エクスプローラーを使用して Core Data データベースを探索していますが、serverId
要求している要素があるため、少なくとも 1 があるはずです。
述語を間違っていますか?
上記のコードはNSManagedObject
カテゴリに実装され、次のように呼び出されます。
[User managedObjectWithServerId:whatev inManagedObjectContext:context];
User
私のモデルのエンティティと のサブクラスはどこにありますかNSManagedObject
。