Я получаю некоторые элементы, используя CoreData, и я хочу еще немного отфильтровать эти результаты, используя FilterArrayUsingPredicate, что вызывает у меня некоторые проблемы.
CoreData Fetch:
NSFetchRequest *request = [[NSFetchRequest alloc]init];
[request setEntity:[NSEntityDescription entityForName:@"Collection" inManagedObjectContext:aContext]];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"CategoryName==%@", aCategoryName];
[request setPredicate:pred];
NSError *error=nil;
NSArray *tempArray=[aContext executeFetchRequest:request error:&error];
[request release], request = nil;
NSLog(@"results: %@", tempArray);
Что дает мне эторезультат:
results: (
"<Collection: 0x8eb1920> (entity: Collection; id: 0x8eb0aa0 <x-coredata://7C4A4A5D-691A-4F02-9450-D0D910B53903/Collection/p95> ; data: {\n CategoryID = 22832;\n CategoryName = \"2000 - NOURISON 2000\";\n IsDeleted = 0;\n ManufacturerID = 192;\n ModifiedOn = \"2012-03-08 09:00:46 +0000\";\n ParentCategoryID = 0;\n PhotoName = \"\";\n SortOrder = 0;\n})"
)
В этом случае есть только 1 результат, что не всегда так, поэтому я хочу отфильтровать больше:
Collection *collection = [[tempArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"ManufacturerID==%@", aManufacturerID]] lastObject];
NSLog(@"result: %@ " , collection);
Что дает мне этот результат:
result: (null)
Не уверен, что мне здесь не хватает, и я передаю правильный идентификатор производителя 192 для этого предиката отфильтрованного массива.