正直、初見の時の可読性が落ちるので微妙かもしれませんが、 発想の1つとしてメモしてみます。 blocksをその場ですぐ使う事で、NSMutableArrayのスコープを最小限にして、その後をNSArrayとして固定してしまいます。 NSMutableArrayがだらだらと下に残ってしまうのを防ぐ事が出来ます。 Mutable系のオブジェクトでは全て可能です。 NSArray *array = ^{ NSMutableArray *r = [NSMutableArray array]; for(int i = 0 ; i < 100 ; ++i) { [r addObject:@(i)]; } return r; }(); for(NSNumber *n in array) { NSLog(@"%@", n); } Register as a new user and use Qiita m