在ObjectiveC中,我有一个NSArray,我们将其称为NSArray* largeArray
,并且我想仅使用前x个对象来获得一个新的NSArray* smallArray
。
...或者如果largeArray已经是
这种方法:
NSArray *smallArray = [largeArray subarrayWithRange:NSMakeRange(0, x)];
是this very similar question的答案。但是,如果largeArray已经很小,它将失败并显示错误。
最佳答案
你可以做...
NSArray *smallArray = [largeArray subarrayWithRange:NSMakeRange(0, MIN(x, largeArray.count))];
如果小于x,则将采用前x个元素或整个数组。
如果largeArray.count为100。
如果x = 110,则将获取前100个结果。
如果x = 90,则将获取前90个结果。
是的,那行得通:D