it-swarm-id.com

Bagaimana cara menambahkan objek ke NSArray menggunakan untuk loop?

Saya ingin menambahkan [NSDecimalNumber numberWithInt:i] ke array menggunakan for loop. 

Itu dikodekan:

 NSArray *customTickLocations = [NSArray arrayWithObjects: [NSDecimalNumber numberWithInt:1],[NSDecimalNumber numberWithInt:2],[NSDecimalNumber numberWithInt:3],[NSDecimalNumber numberWithInt:4],[NSDecimalNumber numberWithInt:5],[NSDecimalNumber numberWithInt:6],[NSDecimalNumber numberWithInt:7],[NSDecimalNumber numberWithInt:8],[NSDecimalNumber numberWithInt:9],[NSDecimalNumber numberWithInt:10],[NSDecimalNumber numberWithInt:11],[NSDecimalNumber numberWithInt:12],nil];

Saya ingin seperti ini, tetapi saya hanya dapat menambahkan satu objek di sini ....

for (int i=0; i<totalImagesOnXaxis; i++)
{
    customTickLocations = [NSArray arrayWithObject:[NSDecimalNumber numberWithInt:i]];
}

Tolong bantu saya keluar dari sini, Terima kasih sebelumnya, Madan

20
Madan Mohan

NSArray adalahimmutable. Gunakan versi yang bisa berubah,NSMutableArray.

42
EmptyStack
NSMutableArray * customTickLocations = [NSMutableArray new];
for (int idx = 0; idx < 12; ++idx) {
    [customTickLocations addObject:[NSDecimalNumber numberWithInt:idx]];
}

...
20
justin

anda tidak dapat menambahkan Objek pada saat run ke NSArray. Untuk menambah atau menghapus objek pada saat Run Anda harus menggunakan NSMutableArray.

NSMutableArray *mutableArray=[[NSMutableArray alloc] init];
for (int i=0; i<10; i++) {
    [mutableArray addObject:[NSDecimalNumber numberWithInt:i]];
}
9
Warewolf
NSMutableArray *customTickLocations = [NSMutableArray array];
for (int i=0; i<totalImagesOnXaxis; i++)
{
    [customTickLocations addObject:[NSDecimalNumber numberWithInt:i]];
}

Kelas NSMutableArray mendeklarasikan antarmuka terprogram ke objek yang mengelola array objek yang dapat dimodifikasi. Kelas ini menambahkan operasi penyisipan dan penghapusan ke perilaku penanganan array dasar yang diwarisi dari NSArray

Referensi Kelas NSMutableArray

5
beryllium
NSMutableArray * customTickLocations = [[NSMutableArray alloc] init];
for(int i = 0; i<WhateverNoYouWant;i++){
NSDecimalNumber * x = [NSDecimalNumber numberWithInt:i]
[customTickLocations addObject:x]

    }
5
Radu

Saya menemukan bahwa menggunakan teknik ini adalah cara yang bagus untuk dengan mudah menambahkan beberapa elemen ke NSArray, ini adalah jawaban yang saya cari ketika saya datang ke utas ini jadi saya mempostingnya karena ini merupakan tambahan yang mudah dan bagus.

Jika saya ingin menambahkan array baru ke array saya saat ini

currentArray = [currentArray arrayByAddingObjectsFromArray: newArray]; 
4
simon_smiley

NSArray tambahkan objek seperti ini:

NSArray *arr = @["1","2","3","4"];

Saya pikir NSArray tidak bisa addObject seperti NSMutableArray. Kamu harus mencobanya:

NSMutableArray *mulArr = [NSMutableArray new];
[mulArr addObject:[NSDecimalNumber numberWithInt:number]];
1
AmyNguyen