#iphone #crash #nsstring
#iPhone #сбой #nsstring
Вопрос:
У меня есть определенное свойство nsstring, объявленное в переменной, оно используется для сохранения текстовой строки, когда я выполняю операцию синтаксического анализа. Поскольку эта операция синтаксического анализа выполняется несколько раз, свойство Nsstring странно изменяется на любой случайный тип данных и приводит к сбою моего приложения. Это происходит, когда я пытаюсь сравнить свойство с другой локальной переменной, которая также является string. Но к тому времени, когда я сравниваю, переменная appdelegate уже изменила свой тип данных и, следовательно, приводит к сбою моего приложения.
Кто-нибудь когда-нибудь сталкивался с такой проблемой? Если да, пожалуйста, направьте меня.
Комментарии:
1. Пожалуйста, добавьте вывод на консоль, чтобы мы могли вам помочь.
Ответ №1:
Это признак того, что ваш объект NSString был освобожден, поэтому вы отправляете сообщение освобожденному объекту. Это приводит к сбою вашего приложения. Тип данных изменяется, потому что после освобождения объекта память, в которую он был помещен, больше не является правильной и может содержать корзину. Вы должны использовать Run with Performance tool -> Инструмент утечки. Это очень помогает в таких случаях. Пожалуйста, имейте в виду, что вы должны включить обнаружение объектов zombie в настройках.
Комментарии:
1. Я думаю, что KOS может быть прав. Хотя я и не использовал zombies, но после того, как я изменил свой код, чтобы каждый раз явно освобождать и создавать переменную, проблема, похоже, исчезла. Спасибо за понимание .. 🙂