非常基本的问题。我需要初始化一个NSMutableArray,其值从1到n(或者说m到n,比如说)。有没有我可以做的事情来初始化数组而不使用for循环?我的意思是有什么:
[[NSMutableArray alloc] initWithSomeThing];
提前致谢。
答案 0 :(得分:7)
答案 1 :(得分:0)
NSArrays
意味着包含对象..只包含整数的对象非常重载。
当它始终从1开始时,一直到n为什么不将n值存储在一个变量中,当你需要你的1..n数组时,只需要从1到n进行一段时间
我不明白人们应该需要一个1..n NSArray,我认为这就是为什么没有方法可以用NSArray
/ NSMutableArray
答案 2 :(得分:0)
您可以创建一个类别方法来执行此操作:
@interface NSMutableArray(MyConvenienceMethods)
+(NSMutableArray*) arrayWithValuesFrom: (int) n to: (int) m step: (int) step;
@end
@implementation NSMutableArray(MyConvenienceMethods)
+(NSMutableArray*) arrayWithValuesFrom: (int) n to: (int) m step: (int) step
{
NSMutableArray* ret = [[NSMutableArray alloc] init];
for (int i = n ; i <= m ; i += step)
{
[ret addObject: [NSNumber numberWithInt: i]];
}
return ret;
}
@end
你这样使用它:
NSMutableArray* anArray = [NSMutableArray arrayWithValuesFrom: 1 to: 100 step: 1];