Question: New to Cocoa, and seem to be missing something. 

What is the most elegant/idiomatic way to obtain the first x elements of an `NSArray` as another `NSArray`? Obviously I can iterate through them and store them manually, but it seems like there has to be a more standard method of doing this. 

I was expecting there to be an `-arrayWithObjectsInRange:` or something similar, but don't see anything...

```
NSArray* largeArray...// Contains 50 items...

NSArray* smallArray = // fill in the blank     

// smallArray contains first 10 items from largeArray

```

Thanks!

Answer: 
You can use [`subarrayWithRange:`](http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/NSArray.html#//apple_ref/occ/instm/NSArray/subarrayWithRange:).

```
NSArray *smallArray = [largeArray subarrayWithRange:NSMakeRange(0, MIN(10, largeArray.count))];//MIN() used because array must be larger than or equal to range size, else exception will be thrown

```
2nd parameter is number of array items to include in the range, not the 'to' index