Я решил начать использовать removeAllObjects
, чтобы я мог повторно использовать некоторые из своих NSMutableArrays. Тем не менее, я обнаружил, что вызов removeAllObjects
вызывает освобождение массива и поэтому он падает, когда viewController отображается во второй раз.
Я смотрел в Интернете, и кажется, что некоторые люди говорят, что removeAllObjects
просто очищает их массив, в то время как другие говорят, что он также освобождает массив. Что является правдой? Похоже, это освобождает меня, но я нахожу это странным и ожидаю, что поведение будет просто выпустить объекты в массиве. Ничто в документации не предупреждает об этом, что я тоже нахожу странным.
РЕДАКТИРОВАТЬ: С включенным NSZombies все, что я получаю, это:
- - [__ NSArrayM removeAllObjects]: сообщение отправлено освобожденному экземпляру 0x625e4e0
По сути говоря, поскольку массив был освобожден из-за removeAllObjects, он не может вызвать removeAllObjects второй раз ... Argh!
Может кто-нибудь помочь, пожалуйста?
Спасибо!