iOS - 使用一系列数字初始化NSArray

问题描述 投票:3回答:4

我想在Objective C中做一些等同于以下MATLAB命令的事情:

A=4:7; 

在这种情况下,变量A然后变成具有元素[4 5 6 7]的数组。

是否有任何简写方法可以在Objective C中使用这样的数字序列设置NSArray?谢谢阅读!

ios objective-c nsarray
4个回答
4
投票

使用NSIndexSet作为数组中的对象 - 然后您可以使用:

[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(4, 4)];

1
投票

我认为在你的情况下使用for循环最简单的方法。


1
投票

使用NSIndexSet对象:

NSArray *seqArray = [NSArray arrayWithObjects:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(4, 3)], nil];

增加:或更新的xcodes:

NSArray *seqArray = @[[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(4, 3)]];

0
投票

感谢大家的回复。到目前为止,我只是使用循环:

NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:4];
for (int i=0; i<4; i++) {
    int value=i+4;
    [mutableArray addObject:[NSNumber numberWithInt:value]];
}
NSArray *finalArray=[NSArray arrayWithArray:mutableArray];

似乎没有使用NSIndexSet做同样的事情(谢谢,Martin R和BergQuester),但如果有人有更有效的方法来做到这一点,我肯定会感兴趣。

© www.soinside.com 2019 - 2024. All rights reserved.