In objectiveC I have an NSArray, let\'s call it NSArray* largeArray
, and I want to get a new NSArray* smallArray
with just the first x objects
Fogmeister's answer is perfectly good, but, in situations where the array is often already small enough, that answer will be mildly inefficient since it always makes a copy. Here is a more efficient version:
NSAarray *smallArray = largeArray;
if (smallArray.count > MAX_NUM_ITEMS)
smallArray = [smallArray subarrayWithRange:NSMakeRange(0, MAX_NUM_ITEMS)];
When the array is already within the limit this version will just make a reference to the existing array.