Каковы наиболее распространенные/необычные сообщения об ошибках, которые встречаются в Objective-C и что вызывает их?
-
12-10-2019 - |
Вопрос
Я пытался сохранить список всех сообщений об ошибках, с которыми я когда -либо сталкивался во время разработки, и их общие причины и исправления. Каковы общие (и не так распространенные) сообщения об ошибках, с которыми вы столкнулись, и как вы их исправили?
Решение
EXC_BAD_ACCESS
При ссылке на указатель, который указывает на объект, который был dealloc
изд
Другие советы
В общем, я считаю, что исключение Object-C и сообщения об ошибках являются самоэкспланирующими. Я думаю, что вам лучше служить, научившись использовать отладчик с точками останова на исключениях Objective-C, чтобы найти конкретную линию, вызывающую аварию, чем пытаясь составить список рецептов для разрешения общих ошибок.
Тем не менее, единственной неочевидной ошибкой, которую я вижу как частая точка путаницы, является «непризнанный селектор Foo: отправлено в Barclass». Хотя причина, по которой это ошибка, должна быть четкой, отвечая на то, как это произошло, может быть сложнее, и я вижу две общие причины:
- Приложение пытается вызвать метод подкласса в экземпляре супер класса. Часто разработчики не могут изменить класс объектов в IB.
- Объект был переоборудован или иным образом ссылался после того, как был сведен на смену. Если новый экземпляр какого -то другого класса теперь занимает этот адрес памяти в приложении с помощью исключения «непризнанного селектора», а не «bad_access».