Помните, что когда вы добавляете подпредставления, т.е. [someView addSubview:someOtherView]
, вы потенциально добавляете целый граф подпредставлений (подпредставления someOtherView
). Если виден someView
, это вызовет рендеринг на новом графике добавленного вами подпредставления. Поэтому, если какое-либо из подпредставлений в новом графике не сохранено правильно, вы можете получить эту ошибку. Вы должны проверить всю иерархию представлений, которую вы добавляете.
Используйте следующие команды GDB в вашей консоли:
Чтобы проверить, является ли отдельный объект действительным
po [someView description]
Чтобы проверить подпредставления someView
po [someView subviews]
Для проверки отдельных подпредставлений (например, первый элемент подпредставления 0)
po [[someView subviews] objectAtIndex:0]
Наконец, чтобы проверить всю иерархию представлений одновременно
po [someView recursiveDescription]
Эти команды, особенно recursiveDescription
, также очень полезны для устранения неполадок макета.