ile NSArray'ı başlangıç durumuna getirin NSArray öğesinin boyutunu yalnızca daha sonra doldurmak için for döngüsünü kullanmak üzere nasıl başlatabilirim? Benim döngüBoyutu
for (int i = 0; i < [myArray count]; i++) {
myArray[i] = someData;
}
ile NSArray'ı başlangıç durumuna getirin NSArray öğesinin boyutunu yalnızca daha sonra doldurmak için for döngüsünü kullanmak üzere nasıl başlatabilirim? Benim döngüBoyutu
for (int i = 0; i < [myArray count]; i++) {
myArray[i] = someData;
}
NSNull
bir unset geçersiz veya varolmayan bir nesneyi temsil etmek için kullanılan sınıftır olurdu. Bu nedenle, diziyi bu sınıfın örneklerini kullanarak belirli bir boyuta sabitleyebilirsiniz. pozisyon i
de değeri yok eğer sınırları hatasını neden olacağından
NSUInteger sizeOfArray = 10;
NSMutableArray *someArray = [NSMutableArray array];
for (NSUInteger i = 0; i < sizeOfArray; i++) {
[someArray addObject:[NSNull null]];
}
Dahası, sen sözdizimi someArray[i] = xyz;
kullanamaz.
Bir dizi tahsis etmenin herhangi bir yolu var mı daha sonra 'addObject' ile bir şey eklemeden dizi [i] = obj' yapabilirim? –
Belirli bir boyutta kullanıma hazır hale getirmeniz gerekmez - Daha sonra nesneleri ekleyebilirsiniz:
NSMutableArray * myArray = [NSMutableArray arrayWithCapacity:100];
: vaktinden boyutunu biliyorsanız
NSMutableArray * myArray = [NSMutableArray array];
for (int i = 0; i < 100; i++) {
[myArray addObject:someData];
}
hafif performans kazançları vardır
Ancak bu isteğe bağlıdır.
Tüm yanıtlar NSArray'ın aksine bir NSMutableArray kullanmam gerektiğini söylüyor. Bu, bu sorunu çözmek için doğrudan NSArray kullanamadığım anlamına mı geliyor? –
Bir NSArray, içeriğinin gelecekte düzenlenemeyeceği anlamına gelir. Bu ayrıca herhangi bir nesnenin diziye eklenmesini veya kaldırılmasını engeller, böylece uzunluğu her zaman sabit kalır. Diğer taraftan bir NSMutableArray, bu nesnelerin her zaman, başlatmadan sonra bile herhangi bir zamanda eklenebilir veya çıkarılabilir. –
Kısıtlama, boyutun istemeden değiştirilmesini istemem ama aynı zamanda kullanıcıların değerleri güncelleştirmesini istiyorum. Dizi bir Boole dizisidir. Java'dan geliyorum, bu yüzden sorunumu anlıyorsun. NSMutableArray, boyutun büyüyebileceği anlamına gelir. Öyleyse, değerlerin değişmesine izin verirken, boyutta yanlışlıkla değişimi nasıl önleyebilirim? –