Я пытаюсь сохранить список Device
классы (пользовательский класс) использующий Базовые Данные и получают его. Но После того, как я сохраняю его, мой запрос, который ОЧЕНЬ прост, не возвращает записей.
Мой вызов для сохранения записей всегда возвращает ДА и никакие ошибки:
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;
}
но я всегда получаю нулевые результаты, если я избавляюсь от предиката, я получаю все объекты, и если я циклично выполняюсь через них, я вижу, что userLogin свойство для по крайней мере одного из объекта установлено на имя пользователя, в котором я передаю...
У кого-либо когда-либо была проблема как это???
Спасибо за любую справку можно дать
Mark
В своем предикате измените:
@"userLogin = %@"
... на:
@"userLogin == %@"