2014-09-08 3 views
0

У меня проблема с NSPRedicate; он возвращает значение nil. Но мой ObjectType видит это; может быть проблема в predecateFormat?NSPredicate issue с ​​объектами типа

У меня есть 3 объекта, и я получаю Тип. Источник:

typedef NS_ENUM(NSUInteger, ObjectType) { 
    FirstType, 
    SecondType, 
    ThdType, 
}; 

Затем я обрабатываю с просьбой CoreData:

- (NSArray *)objectsByType:(ObjectType)type{  
    NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
    [request setEntity:[self objectEntity]]; 

     NSPredicate *pred = [NSPredicate predicateWithFormat:@"self.objectType == %d", type]; 
     [request setPredicate:pred]; 

    NSError *err = nil; 
    NSArray *objects = [[self managedContext] executeFetchRequest:request error:&err]; 

    if(err){ 

     DLog(@"Failed to fetch objects %@", [err localizedDescription]); 
    } 

    return objects; 
} 

Я думаю, что проблема здесь.

+1

Установите свой тип в NSNumber, как это то, что хранится в Core Data. '@" self.objectType ==% @ ", @ (type)' – sbarow

+0

Я пробовал, не работает ... ** Не реализована генерация SQL для предиката (objectType LIKE 1) ** – NilsHolgerson

+0

Это происходит только в том случае, если это является «NSNumber»? – sbarow

ответ

1

Задайте свой тип NSNumber, так как это то, что хранится в Core Data. @"self.objectType == %@", @(type)

Смежные вопросы