初始化一个数字从1到n目标C的数组

时间:2013-07-17 11:35:58

标签: objective-c nsmutablearray nsarray

非常基本的问题。我需要初始化一个NSMutableArray,其值从1到n(或者说m到n,比如说)。有没有我可以做的事情来初始化数组而不使用for循环?我的意思是有什么:

[[NSMutableArray alloc] initWithSomeThing];

提前致谢。

3 个答案:

答案 0 :(得分:7)

简短回答:没有

答案很长:不,

最简单的方法是查找class reference以查看是否有类似的内容

答案 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];