Почему я получаю сбой "Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]"
после установки rightBarButtonItem
?
В моем приложении справа расположены три кнопки, одна из которых должна чередоваться с systemEditButton
.Поэтому я установил кнопки с помощью rightBarButtonItems
(обратите внимание на «s»), а затем изменил правую, используя rightBarButtonItem, когда это необходимо.
С 5.0 Apple позволяет устанавливать несколько элементов в leftBarButtonItems
и rightBarButtonItems
из NavigationBar
.В нем также говорится, что вы можете изменить внешний с помощью leftBarButtonItem
и rightBarButtonItem
соответственно («Первый элемент в массиве также можно установить с помощью свойства rightBarButtonItem
»).
Работает нормально в первый раз, но затем вылетает, когда я возвращаю исходную кнопку.Хуже того, он не возражает, когда я его установил, он падает позже во время анимации UINavigationBar layoutSubViews
.Проверка rightBarButtonItems
после установки rightBarButtonItems
показывает, что он корректно обновил массив, но он вылетает во время компоновки.