配列に関して

Objective-Cの配列に関してですが、なんか使いづらい...。
恐らく、int array[ ]みたいなものは、あんまり使わないのかもしれない。
簡単な感じで書くと下の様な感じになるけど...事前にサイズが分かってないといけない。

int array[] = {10, 20, 30};
for (int i = 0; i < 3; i++) {
     NSLog(@"%d", array[i]);
}

それで、調べたが...サイズを取得できないぽい。
じゃあ無理かと言うとそうでもないけど...かなり頑張らないといけない。
NSMutableArrayにNSNumberを入れるとできるが...取り出すときにintに変換しないといけない。
めちゃめちゃ大変?だけど、下の様な感じです。

NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:[NSNumber numberWithInt:10]];
[array addObject:[NSNumber numberWithInt:20]];
[array addObject:[NSNumber numberWithInt:30]];
for (int i = 0; i < (int)[array count]; i++) {
     NSLog(@"%d", [[array objectAtIndex:i] intValue]);
}

ちなみに、NSArrayでもできるが@autoreleasepoolが必要ぽい。
@autoreleasepoolなしでやろうとすると、下の警告がでる。

class __NSArrayI autoreleased with no pool in place - just leaking - break

@autoreleasepool書かないで、うまくいく方法がわからない...もう少し調べてみるかぁ。
とりあえず@autoreleasepool使って書いた感じは、下の様な感じです。

@autoreleasepool {
     NSArray *array = [NSArray arrayWithObjects:
                       [NSNumber numberWithInt:10], 
                       [NSNumber numberWithInt:20], 
                       [NSNumber numberWithInt:30], nil];
     for (int i = 0; i < (int)[array count]; i++) {
         NSLog(@"%d", [[array objectAtIndex:i] intValue]); 
    }
}

やっぱりObjective-Cの配列めんどくさい気がする。
もう少し簡単にできないものか?
どうみても使いづらいでしょ...実は、もっと簡単な方法があるのかもしれい。