iPhone CoreData funky fetch-request: Je veux construire la fonction pour récupérer le tableau de Unique-CategoryCodes pour mes produits J'ai Entity "Product" et il y a un champ (Property) Category. Bien sûr, la catégorie est la relation avec l'entité des catégories.CoreData - Valeurs uniques de subEntity ....?
Ce si ma fonction:
- (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;
}
MonRésultat: 2010-12-10 05: 55: 33,683 iApp [3453: 307] - [ShoppingHelper uniqueCategoriesWithQuery:] [Ligne 1193] ( { Catégorie = "0x495a200"; }, { Catégorie = "0x4959ce0";} )
Le code fonctionne bien mais je ne peux pas utiliser les résultats du tout. J'ai mes catégories ... mais ID 'au lieu de NSStrings .. Comment le consommer?
peut-être que je devrais utiliser: [request setPropertiesToFetch: [NSArray arrayWithObject: [entityProperties objectForKey: @ "Catégories.Code"]]];
pour obtenir les NSStrings dans le NSDictionary Distinct?
OU
find Catégorie PAR ID - Comment faire?
Merci, mais Si je retourne des objets gérés, le "setReturnsDistinctResults: YES" ne fonctionne pas - je reçois tous les produits. J'ai juste besoin de catégories uniques pour la table des produits filtrés. Quelque chose comme SELECT DISTINCT Catégorie FROM Produits WHERE ProductName like '% mylikeString%'. – Cezar
Ah, oui, je suis désolé. –