J'apprends l'Objectif-C et je viens d'un monde de déchets. Je crée une variable de classe (statique) d'un dictionnaire et je ne sais pas si je le fais correctement pour la gestion de la mémoire ou non. J'utilise une méthode de commodité, donc l'objet devrait être libéré automatiquement, mais je ne sais pas vraiment si je dois le libérer ou le conserver dans ma classe.Quelle est la bonne façon de gérer la mémoire d'une variable/méthode de classe dans l'objectif c?
Je ne trouve pas de documentation claire sur la gestion des objets de niveau classe - tout conseil est apprécié. Merci.
+(NSDictionary*) polygonNames{
NSDictionary* polygonNames = [NSDictionary dictionaryWithObjectsAndKeys:
@"Triangle", @"3",
@"Square", @"4",
@"Square", @"4",
@"Pentagon", @"5",
@"Hexagon", @"6",
@"Heptagon", @"7",
@"Octagon", @"8",
@"Nonagon", @"9",
@"Decagon", @"10",
@"Hendecagon", @"11",
@"Dodecagon", @"12",
nil];
return polygonNames;
}
Il n'y a rien de mal avec ce code, sauf qu'il va créer le dictionnaire chaque fois qu'il est appelé. –
Ne répondant pas à votre question, mais - je vois que vous stockez le nombre de côtés de chaque polygone comme une chaîne. Si vous voulez vraiment stocker un numéro, enveloppez-le dans un NSNumber ie [NSNumber numberWithInt: 1] etc – Abizern
Merci pour le conseil de nombre, quand j'étais toujours sous l'impression que les clés du dictionnaire dans obj c devaient être des ficelles , un examen rapide des documents et votre commentaire a éclairci cela. – WillyCornbread