How do I get the first X elements of an unknown size NSArray?
objective-c
Solution
You could do this...
NSArray *smallArray = [largeArray subarrayWithRange:NSMakeRange(0, MIN(x, largeArray.count))];
That will take the first x elements or the full array if it's smaller than x.
If largeArray.count is 100.
If x = 110 then it will take the first 100 results. If x = 90 then it will take the first 90 results.
Yep, that works :D
Problem
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 ...OR in the event that largeArray is already size <= x I just want a copy of the largeArray. So truncating any objects after index x. This approach: ``` NSArray *smallArray = [largeArray subarrayWithRange:NSMakeRange(0, x)]; ``` Was the answer to this very similar question. But it fails with an error if largeArray is already small.