Je suis en train de créer un tableau d'objets à partir d'une hiérarchie d'autres objets comme celui-ci:Hors champ dans le tableau généré KVC
Code 1:
childController.names = [[NSMutableArray alloc] init];
for (Person *p in list.persons) {
[childController.names addObject:p.name];
}
Code 2:
NSMutableArray *testArray = [list.persons valueForKey:@"name"];
Le premier extrait de code fonctionne parfaitement, renvoyant un tableau de noms de personnes. En revanche, la seconde renvoie un tableau avec le nombre correct de noms de personnes, mais ils sont affichés comme "Hors de portée" lorsque je débogue le code dans XCode. Quand je suis en train d'accéder à l'un d'eux, l'application se termine par:
en raison de l'application Mettre fin uncaught exception 'NSInvalidArgumentException', raison: « *** - [NSCFSet objectAtIndex:]: non reconnu sélecteur envoyé à l'instance 0x72e0620'
La liste, les personnes sont données de base des objets gérés si elle importe .. Qu'est-ce que je fais mal ???
En outre, si votre 'propriété names' est une propriété' retain', vous lorsque vous définissez une fuite de avec '[[NSMuatableArray alloc] init]' (bien, vous aurez +2 retenir nombre après que vous avez défini votre propriété). – jbrennan
Hmm, pouvez-vous expliquer cela un peu plus? Quelle serait la bonne façon de le faire? Merci! – johnl