web-dev-qa-db-fra.com

Ajouter un objet au début d'un NSMutableArray?

Existe-t-il un moyen efficace d'ajouter un objet au début d'un NSMutableArray? Je recherche une bonne file d'attente double dans Objective C fonctionnerait également.

45
gurooj

Simplement

[array insertObject:obj atIndex:0];

Vérifiez le documentation

102
Manlio

Comme d'autres réponses l'ont noté, utilisez simplement le insertObject:atIndex méthode. Il est efficace car les NSArrays ne sont pas nécessairement constitués de mémoire contiguë, c'est-à-dire que les éléments ne sont pas toujours déplacés lorsque l'insertion se produit, en particulier pour les grands tableaux, c'est-à-dire plusieurs centaines de milliers d'éléments. Voir ce blog Notez également que dans Objective C seuls les pointeurs sont déplacés dans le tableau afin que memmove puisse être utilisé en interne contrairement à C++ où des copies doivent être faites.

Aussi cette question SE .

5
Mark