我想使用for循环将[NSDecimalNumber numberWithInt:i]
添加到数组中。
它是硬编码的:
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];
我想要这样,但我只能在这里添加一个对象....
for (int i=0; i<totalImagesOnXaxis; i++)
{
customTickLocations = [NSArray arrayWithObject:[NSDecimalNumber numberWithInt:i]];
}
请帮我解决这个问题, 提前致谢, 马丹
答案 0 :(得分:43)
NSArray 不可变 。使用可变版本 NSMutableArray 。
答案 1 :(得分:20)
NSMutableArray * customTickLocations = [NSMutableArray new];
for (int idx = 0; idx < 12; ++idx) {
[customTickLocations addObject:[NSDecimalNumber numberWithInt:idx]];
}
...
答案 2 :(得分:9)
您无法在运行时将对象添加到NSArray。要在运行时添加或删除对象,您必须使用NSMutableArray。
NSMutableArray *mutableArray=[[NSMutableArray alloc] init];
for (int i=0; i<10; i++) {
[mutableArray addObject:[NSDecimalNumber numberWithInt:i]];
}
答案 3 :(得分:5)
NSMutableArray *customTickLocations = [NSMutableArray array];
for (int i=0; i<totalImagesOnXaxis; i++)
{
[customTickLocations addObject:[NSDecimalNumber numberWithInt:i]];
}
NSMutableArray类声明了管理可修改对象数组的对象的编程接口。此类将插入和删除操作添加到从NSArray继承的基本数组处理行为
答案 4 :(得分:5)
NSMutableArray * customTickLocations = [[NSMutableArray alloc] init];
for(int i = 0; i<WhateverNoYouWant;i++){
NSDecimalNumber * x = [NSDecimalNumber numberWithInt:i]
[customTickLocations addObject:x]
}
答案 5 :(得分:4)
我发现使用这种技术是向NSArray轻松添加更多元素的一种很好的方法,这是我在找到这个帖子时所寻找的答案,所以我发布它是因为它是一个非常简单的添加。
如果我想将新数组添加到当前数组
currentArray = [currentArray arrayByAddingObjectsFromArray: newArray];
答案 6 :(得分:1)
NSArray
添加如下对象:
NSArray *arr = @["1","2","3","4"];
我认为NSArray
不能addObject
喜欢NSMutableArray
。你应该试一试:
NSMutableArray *mulArr = [NSMutableArray new];
[mulArr addObject:[NSDecimalNumber numberWithInt:number]];