Хммм. Я вижу одну проблему в вашем коде, но не одну, которая может вызвать эту проблему: вы добавляете сохраненные объекты в массив; сначала вы захотите автоматически выпустить их, чтобы не пропустить.
Что касается вашей настоящей проблемы, я не знаю. Невозможно заполнить массив нулевыми указателями; только объекты типа id
(не произвольные указатели) могут быть помещены в NSArray
/ NSMutableArray
.
Я знаю, что вы сказали, что проверили -[MyColumn init]
, но было бы неплохо проверить, что он производит правильные объекты именно в этом месте.
columns = [NSMutableArray array];
for (int i = 0; i < 5; i++) {
id c = [[[MyColumn alloc] init] autorelease];
/* set a breakpoint here, and type `po c`
into the debugger to see what was created
*/
[columns addObject:c];
}
Если -[MyColumn init]
не делает какие-то действительно прикольные объекты, я не могу понять, в чем проблема. Интересно, происходит ли что-то странное с mColumns
; например, оно удерживается чем-либо?