Если это единственный код, который у вас есть, тогда он должен работать нормально, а NSLog вашего NSMutableArray не должен возвращать nil.Я скопировал и вставил ваш код в мой XCode, и он отлично работает.Вы должны делать что-то еще в вашем коде, чтобы изменить NSMutableArray.
Если вам интересно, что я сделал, чтобы доказать, что ваш код работает, я создал простой UIViewController с одной кнопкой в нем.Затем я создал класс UIViewController и буквально скопировал ваш код в заголовочный файл и файл реализации.Я объявил NSMutableArray в заголовочном файле и инициализировал его в viewdidload (я скопировал и вставил их как есть).Я также поместил остальную часть вашего кода NSMutableDictionary в viewDidLoad, и он дал разумные результаты.Журнал NSMutableArray показывает, что он содержит правильные данные.
Иногда это помогает сделать чистую сборку, но, насколько я могу вам сказать, ваш код правильный и должен работать.
Кстати, у меня есть IOS5 и XCode 4.2.