2011-09-03 19 views

cevap

95

Basitçe

[array insertObject:obj atIndex:0]; 

Kontrol documentation

+2

Bu yöntemi kullanırken dikkat edilmesi gereken birkaç şey. Dizi boşsa, yalnızca dizin 0'da nesne ekleyebilirsiniz. Yani, dizi 5 nesne içeriyorsa, 5. dizine nesne ekleyebilirsiniz. 6. dizine değer eklemeye çalışmak istisna ile sonuçlanır. – EmptyStack

+36

Dizin zaten kullanılıyorsa, dizin oluşturmak için dizinlerine 1 eklenerek dizin ve ötesindeki nesneler kaydırılır. – Malloc

+0

@Malloc burada önemli bir noktaya değindiniz, teşekkürler –

4

diğer cevaplar belirttiği gibi sadece insertObject:atIndex yöntemini kullanın. NSArrays zorunlu olarak bitişik hafızadan ibaret olmadığından etkilidir, yani ek parçalar özellikle büyük diziler, yani birkaç yüz bin eleman için olduğunda her zaman hareket etmemektedir. Bkz. this blog Ayrıca, objektif C'de sadece işaretçilerin dizide taşındığını, böylece kopyaların C + 'dan farklı olarak kopyaların yapılması gerektiğine dikkat edin.

Ayrıca this SE question.

İlgili konular