我想在Objective C中做一些等同于以下MATLAB命令的事情:
A=4:7;
在这种情况下,变量A然后变成具有元素[4 5 6 7]的数组。
是否有任何简写方法可以在Objective C中使用这样的数字序列设置NSArray?谢谢阅读!
使用NSIndexSet作为数组中的对象 - 然后您可以使用:
[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(4, 4)];
我认为在你的情况下使用for循环最简单的方法。
使用NSIndexSet对象:
NSArray *seqArray = [NSArray arrayWithObjects:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(4, 3)], nil];
增加:或更新的xcodes:
NSArray *seqArray = @[[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(4, 3)]];
感谢大家的回复。到目前为止,我只是使用循环:
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),但如果有人有更有效的方法来做到这一点,我肯定会感兴趣。