Можно ли передать массив в качестве аргумента функции?
Да, конечно.
C-массив:
- (void)myFunction:(int*)array; ... int bar[12]; [obj myFunction:bar];
NSArray:
- (void)myFunctionWithNSArray:(NSArray*)array; ... NSArray *array = [[NSArray alloc] initWithObjects...]; [obj myFunctionWithNSArray:array];