在objectiveC中,我有一个NSArray,我们称之为NSArray * largeArray,我想要获得一个新的NSArray * smallArray,只有第一个x对象
…或者,如果largeArray已经是大小< = x我只想要一个bigArray的副本.因此在索引x之后截断任何对象. 这种方法:
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