Возникло исключение при фильтрации NSManagedObjects с NSPredicate - PullRequest
0 голосов
/ 07 апреля 2011

Короче говоря, я не думаю, что правильно форматирую NSPredicate.

Учитывая массив NSManagedObjects, я хочу создать новый массив, содержащий объекты, где атрибут соответствует определенному значению.В этом случае, где атрибут status равен значению «неактивно».

parentObject - это родительский объект в моей базовой модели объектов данных.Ивар прошел от предыдущего контроллера.Он также уже был получен с помощью предыдущего контроллера.

theRelationship - это отношение один ко многим, также определенное в модели с типом сущности ChildEntity.

NSSet *theRelatedObjects = [parentObject valueForKey:@"theRelationship"];  
NSArray *unfilteredObjects = [theRelatedObjects allObjects];  
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"status == inactive"]; 
NSArray *filteredObjects = [unfilteredObjects filteredArrayUsingPredicate:predicate];   
//at this point NSUnknownKeyException is raised.  
//error message:  the entity ChildEntity is not key value coding-compliant for the key "inactive"  

Спасибоза вашу помощь!

Ответы [ 2 ]

2 голосов
/ 07 апреля 2011

Является ли 'status' строкой? Попробуйте что-то вроде этого:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"status == %@", @"inactive"];
2 голосов
/ 07 апреля 2011

Сделайте это вместо:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"status like 'inactive'"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...