arnolix a dit:>Céroce
Justement en utilisant des classes comme NSMutableARRay et compagnie on mets des garde-fous qu'il ne semble pas y avoir avec des tab[] et consorts. tu fais tab[10000000] sans problème, mais le résultat est plus que douteux à l'execution. Par contre avec un NSMutableArray...
Autre truc : tu veux envoyer un message whatTimeIsItPlease à tous tes objets d'un NSArray. Tape :
[montableau makeObjectsPerformSelectorselector(whatTimeIsItPlease)]
(A condition que tes objets y répondent) . Je trouve ca supercool, mais c'est peut-être une question de gout
Non, c'est pas une question de goût, c'est une question de lisibilité (regarde, le programme en C# est bien plus lisible) et de PERFORMANCES.
Créer des objets (allocation dynamique) et leur envoyer des messages prend beaucoup plus de temps que de réserver un simple tableau (sur la pile, d'où l'impossibilité de réserver 40 000 000 d'octets). Je ne dénigre pas l'utilité des NSArray pour autant.
Les langages basés sur le C (comme ObjC) restent proches de la machine. Ça présente des avantages (vitesse, compacité) mais aussi de grandes responsabilités sur le développeur.