J'ai environ 50 objets CGPoint qui décrivent quelque chose comme un "chemin", et je veux les ajouter à un NSArray. Ce sera une méthode qui renverra simplement le point CGPoint correspondant à un index donné. Je ne veux pas créer 50 variables comme p1 = ...; p2 = ..., et ainsi de suite. Existe-t-il un moyen simple de définir ces points «instantanément» lors de l'initialisation du NSArray avec des objets?
Réponses
Trop de publicités? Avec UIKit
Apple a ajouté le support pour CGPoint à NSValue
, vous pouvez donc faire:
NSArray *points = [NSArray arrayWithObjects:
[NSValue valueWithCGPoint:CGPointMake(5.5, 6.6)],
[NSValue valueWithCGPoint:CGPointMake(7.7, 8.8)],
nil];
Répertoriez autant d'instances [NSValue] que vous avez CGPoint et terminez la liste à zéro. Tous les objets de cette structure sont libérés automatiquement.
D'un autre côté, lorsque vous tirez les valeurs du tableau:
NSValue *val = [points objectAtIndex:0];
CGPoint p = [val CGPointValue];
Tibidabo
Points
10510
Ramin
Points
10412