如何使用 for 循环将对象添加到 NSArray?
Posted
技术标签:
【中文标题】如何使用 for 循环将对象添加到 NSArray?【英文标题】:How to add objects to an NSArray using for loop? 【发布时间】:2011-10-21 07:20:58 【问题描述】:我想使用 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]];
请帮我解决这个问题, 提前致谢, 马丹
【问题讨论】:
为什么还需要数组?看起来数组中索引i
处的值始终为i
。
【参考方案1】:
NSArray 是不可变的。使用可变版本,NSMutableArray。
【讨论】:
【参考方案2】:NSMutableArray * customTickLocations = [NSMutableArray new];
for (int idx = 0; idx < 12; ++idx)
[customTickLocations addObject:[NSDecimalNumber numberWithInt:idx]];
...
【讨论】:
【参考方案3】:您不能在运行时将对象添加到 NSArray。要在运行时添加或删除对象,您必须使用 NSMutableArray。
NSMutableArray *mutableArray=[[NSMutableArray alloc] init];
for (int i=0; i<10; i++)
[mutableArray addObject:[NSDecimalNumber numberWithInt:i]];
【讨论】:
【参考方案4】:NSMutableArray *customTickLocations = [NSMutableArray array];
for (int i=0; i<totalImagesOnXaxis; i++)
[customTickLocations addObject:[NSDecimalNumber numberWithInt:i]];
NSMutableArray 类声明了管理可修改对象数组的对象的编程接口。该类在继承自 NSArray 的基本数组处理行为中添加了插入和删除操作
NSMutableArray Class Reference
【讨论】:
【参考方案5】:NSMutableArray *customTickLocations = [[NSMutableArray alloc] init];
for(int i = 0; i<WhateverNoYouWant;i++)
NSDecimalNumber * x = [NSDecimalNumber numberWithInt:i]
[customTickLocations addObject:x]
【讨论】:
【参考方案6】:我发现使用这种技术是轻松向 NSArray 添加更多元素的好方法,这就是我来到这个线程时正在寻找的答案,所以我发布它,因为它是一个非常简单的添加。
如果我想在当前数组中添加一个新数组
currentArray = [currentArray arrayByAddingObjectsFromArray: newArray];
【讨论】:
【参考方案7】:NSArray
像这样添加对象:
NSArray *arr = @["1","2","3","4"];
我认为NSArray
不能像NSMutableArray
那样addObject
。你应该试试:
NSMutableArray *mulArr = [NSMutableArray new];
[mulArr addObject:[NSDecimalNumber numberWithInt:number]];
【讨论】:
以上是关于如何使用 for 循环将对象添加到 NSArray?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 for 循环在 NSString 中获取多个 NSArray 对象并一一发送该对象?
我可以在 for 循环中将键值对添加到 NSarray 或字典吗?
如何将 NSArray 中的对象添加到 NSMutableArray 的末尾?
获取当前邮政编码,并显示来自 NSArray 的最接近的结果