Question

Je suis nouveau aux données de base et essayer d'obtenir tous les enfants objets de différents types avec une requête. Disons qu'il ya un type « animal » en tant que parent et « chat », « chien » et « oiseaux » comme des enfants. Je voudrais obtenir les chats et les chiens, mais pas les oiseaux dans la requête unique retourné sous forme d'objets animaux. C'est possible?

Était-ce utile?

La solution

la solution de Kevin Sylvestre avec un prédicat de entity.name != "Bird"

.

Autres conseils

Oui, il est possible:

// Load delegate from application and context from delegate.
SampleAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = delegate.managedObjectContext;

// Create new request.
NSFetchRequest *request = [[NSFetchRequest alloc] init];

// Create entity description using delegate object context.
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Animal" inManagedObjectContext:context];

// Set entity for request.
[request setEntity:entity];
[request setIncludesSubentities:YES];

// Load array of documents.
NSError *error;
NSArray *animals = [context executeFetchRequest:request error:&error];

// Release request.
[request release];

// Access array.
for (id animal in animals) { }

Bien que cela (entity.name != "Bird") peut fonctionner si vous avez seulement « chat », « chien » et « Bird », il ne fonctionne pas si vous ajoutez ultérieurement plus « Animaux ». Vous pouvez également utiliser entity.name == "Dog" && entity.name == "Cat"

Il est un cas de « ... vous aurez jamais tout autre, dans votre cas, les animaux? »

Amusez-vous bien =)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top