Device
Core Data を使用してクラス (カスタム クラス)のリストを保存し、それを取得しようとしています。しかし、保存した後、非常に単純なクエリはレコードを返しません。
レコードを保存するための私の呼び出しは常に YES を返し、エラーはありません:
BOOL resultOfSave = [managedObjectContext save:&err];
プロパティ userLogin で検索するための私の述語は次のようになります。
- (NSArray *) devicesForUser:(NSString *)username
{
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Device" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userLogin = %@", username];
[request setPredicate:predicate];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"macAddress" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[sortDescriptors release];
[sortDescriptor release];
NSError *error = nil;
NSArray *fetchResults = [managedObjectContext executeFetchRequest:request error:&error];
if (fetchResults == nil) {
// Handle the error.
NSLog(@"ERROR: nil fetch result array");
}
[request release];
NSLog(@"devicesForUser [%@] count %d", username, [fetchResults count]);
return fetchResults;
}
プレデケートを取り除くと、すべてのオブジェクトを取得し、それらをループすると、オブジェクトの少なくとも 1 つの userLogin プロパティが、渡したユーザー名に設定されていることがわかります。 ...
誰もこのような問題を抱えたことがありますか???
あなたが与えることができる助けをありがとう
マーク