我正在尝试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;
}
但是我总是得到零结果,如果我摆脱了predecate,我会得到所有对象,如果我循环遍历它们,我可以看到至少一个对象的userLogin属性设置为我传入的用户名...
有没有人遇到过这样的问题???
谢谢你提供的所有帮助
标记