iPhone CoreData funky fetch-request : 내 제품의 고유 카테고리 코드 배열을 검색하는 함수를 작성하고 싶습니다. 엔티티 "제품"이 있고 필드 (속성) 카테고리가 있습니다. 물론 범주는 범주 엔터티와의 관계입니다.CoreData - subEntity ....의 고유 값?
이 경우 제 기능 :
- (NSArray *)uniqueCategoriesWithQuery:(NSString *)query {
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Product" inManagedObjectContext:[self managedObjectContext]];
NSDictionary *entityProperties = [entity propertiesByName];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entity];
[request setReturnsDistinctResults:YES];
[request setPropertiesToFetch:[NSArray arrayWithObject:[entityProperties objectForKey:@"Code"]]];
[request setResultType:NSDictionaryResultType];
[request setIncludesSubentities:YES];
[request setIncludesPropertyValues:YES];
NSError *fetchError = nil;
NSArray *result = [[self managedObjectContext] executeFetchRequest:request error:&fetchError];
DebugLog(@"%@", result);
if (fetchError == nil && [result count] > 0) {
return result;
}
return nil;
}
MyResult : 2010-12-10 05 : 55 : 33.683 IAPP [3453 : 307] - [ShoppingHelper uniqueCategoriesWithQuery :] [라인 1193] ( { 카테고리 = "0x495a200"; }, { 카테고리 = "0x4959ce0";} )
,코드는 정상적으로 작동하지만 결과를 전혀 사용할 수 없습니다. 나는 나의 카테고리를 가지고있다. 그러나 ID '대신에 NSStrings .. 어떻게 그것을 소비 하는가?
어쩌면 내가 사용해야합니다 : [요청 setPropertiesToFetch : [NSArray arrayWithObject : [entityProperties objectForKey : @ "Categories.Code"]]]];
Distinct NSDictionary에서 NSString을 가져 오려면?
또는
카테고리 찾아보기 ID 찾는 방법 -
감사합니다.하지만 관리되는 개체를 반환하는 경우 "setReturnsDistinctResults : YES"가 작동하지 않습니다. 모든 제품을 가져옵니다. 필터링 된 제품 테이블에 대한 고유 한 카테고리가 필요합니다. 뭔가 같은 SELECT DISTINCT 범주 FROM 제품 '% mylikeString %'같은 ProductName WHERE ProductName. – Cezar
아, 네, 죄송합니다. –