在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

09-16 20:42