Как уже говорили другие, NSMutableArray
может содержать только объекты Objective-C. Они не обязательно должны быть подклассами NSObject
, но это наиболее типично.
Однако, задолго до того, как вы увидели ошибку attempt to insert nil.
времени выполнения, вы должны были увидеть предупреждение компилятора:
warning: passing argument 1 of 'addObject:' makes pointer from integer without a cast
Это [неопределенным и окольным путем] точно говорит вам, в чем проблема; вы пытаетесь вставить что-то в массив, который не является указателем [на объект].
Обратите внимание на предупреждения и исправьте их. В большинстве случаев наличие предупреждения будет указывать на ошибку или сбой во время выполнения.