Je suis assez nouveau dans le monde d'Objective-C et j'ai une longue histoire avec .net/C# donc naturellement je suis enclin à utiliser mon esprit C#.NSArray, les types primitifs et la boxe Oh My!
Maintenant, voici la question: je me sens vraiment enclin à créer un certain type de simple, collection Objective-C pour tenir les types primitifs parce que je n'aime pas le concept d'emballage d'un type primitif dans un objet (à savoir NSNumber) et puis en ajoutant cela à une collection telle que NSArray. Le fait est que je comprends parfaitement que NSArray ne fonctionne que sur des objets. Cependant, cela me semble vraiment stupide que nous soyons obligés de travailler avec des primitives en boîte simplement parce qu'il n'existe aucune collection pour travailler sur des entiers primitifs par exemple. Donc les gars de C# sauront de quoi je parle dans les vieux jours avec .net. Généralement, vous utiliseriez un simple tableau ou une ArrayList lorsque les génériques n'étaient pas encore disponibles. Le ArrayList vous oblige essentiellement à encadrer vos types primitifs, mais il l'a fait dans les coulisses et vous avez payé un cher coût pour cela (en termes de performance.)
Si vous ne pouviez pas faire face au coût de la performance, alors vous avez roulé votre propre collection personnalisée ou éventuellement utilisé des génériques quand ils sont sortis. Maintenant, dans le monde de l'Objective-C, il semble que nous soyons obligés de nous attaquer de nouveau à ce problème, mais c'est comme si les développeurs d'Apple ne s'en soucient pas vraiment, ou ce n'est pas grave. Donc, ma question est: Quelle est la pratique recommandée ici? Dois-je essayer de créer mes propres collections Objective-C personnalisées pour tenir un NSInteger par exemple? Ou devrais-je juste utiliser un tableau C natif comme codeur collègue Memo suggère dans cet article de blog: NSArray vs. C Array performance
Ou dois-je rester avec les collections intégrées d'Apple et mordre la balle. Il semble que les caractéristiques de performance expliquées par Memo méritent d'être prises en compte lors de la création d'applications critiques.
Ce message était une bouchée mais j'ai dû le sortir de ma poitrine.
Est-ce simplement quelque chose qui vous dérange sur le langage/les frameworks ou avez-vous des cas spécifiques où les performances sont affectées? – sbooth