UIDeviceRGBColor isEqualToString:]: нераспознанный селектор - PullRequest
0 голосов
/ 21 декабря 2010

Может кто-нибудь сказать мне, что это такое?У меня есть таблица и внутри таблицы. У меня есть окно выбора и некоторые текстовые поля в других ячейках.Когда я прокручиваю таблицу вверх и вниз 8-10 раз, приложение вылетает и выдает мне эту ошибку:

* Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: '- [UIDeviceRGBColor isEqualToString:]: нераспознанный селектор, отправленный экземпляру 0x5834850 '

1 Ответ

1 голос
/ 21 декабря 2010

Краткий ответ: он пытается вызвать -isEqualToString: для экземпляра UIDeviceRGBColor, который не отвечает на него.

Длинный ответ: вы либо запрашиваете неправильный объект в какой-то момент, либо вполне вероятно пытаетесь получить доступ к объекту, который был освобожден, но указатель которого не был установлен в ноль. Иногда, когда это происходит, вы получаете прямой сбой, поскольку память в новом месте не является надлежащим объектом. Иногда новый объект занимает свое место. Лучший способ узнать это - включить зомби.

Это хороший обзор того, как использовать зомби: http://iosdevelopertips.com/debugging/tracking-down-exc_bad_access-errors-with-nszombieenabled.html

Вы можете начать видеть сообщения о том, что «- [NSCFString isEqualToString:] сообщение отправлено в освобожденный экземпляр». Если это так, то это проблема управления памятью, и вам нужно дважды проверить свои сохранения и релизы. Если вы не получите это сообщение, то вы, вероятно, вызываете неправильный метод и возвращаете неправильный объект.

...