如何使用for循环将对象添加到NSArray?

Mad*_*han 21 iphone objective-c nsarray ios

我想[NSDecimalNumber numberWithInt:i]使用for循环添加到数组.

它是硬编码的:

 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];
Run Code Online (Sandbox Code Playgroud)

我想这样,但我只能在这里添加一个对象....

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

请帮我解决这个问题,先谢谢你,Madan

Emp*_*ack 44

NSArray不可变的.使用可变版本NSMutableArray.


jus*_*tin 20

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

...
Run Code Online (Sandbox Code Playgroud)


War*_*olf 10

您无法在运行时将对象添加到NSArray.要在运行时添加或删除对象,您必须使用NSMutableArray.

NSMutableArray *mutableArray=[[NSMutableArray alloc] init];
for (int i=0; i<10; i++) {
    [mutableArray addObject:[NSDecimalNumber numberWithInt:i]];
}
Run Code Online (Sandbox Code Playgroud)


ber*_*ium 5

NSMutableArray *customTickLocations = [NSMutableArray array];
for (int i=0; i<totalImagesOnXaxis; i++)
{
    [customTickLocations addObject:[NSDecimalNumber numberWithInt:i]];
}
Run Code Online (Sandbox Code Playgroud)

NSMutableArray类声明了管理可修改对象数组的对象的编程接口.此类将插入和删除操作添加到从NSArray继承的基本数组处理行为

NSMutableArray类参考


Rad*_*adu 5

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

    }
Run Code Online (Sandbox Code Playgroud)


sim*_*ley 5

我发现使用这种技术是轻松向 NSArray 添加更多元素的好方法,这就是我来到这个线程时正在寻找的答案,所以我将其发布,因为它是一个非常简单的添加。

如果我想向当前数组添加一个新数组

currentArray = [currentArray arrayByAddingObjectsFromArray: newArray]; 
Run Code Online (Sandbox Code Playgroud)