У меня есть панель навигации с двумя кнопками в качестве элементов кнопок правой панели и текстовое поле в окне заголовка. Если я коснусь текстового поля, появится экран поиска, и я могу ввести текст в текстовое поле. Тексты в текстовом поле будут устанавливать переменную resultText в моем коде ниже. Элементы кнопок, включая filterItem и mapItem, хорошо связаны с @ IBOutlet.
Я хотел бы скрыть элементы кнопок правой панели, когда текстовое поле не пустое. С кодом, показанным ниже, он отлично работает изначально, когда я ввожу текст в текстовое поле. Однако, когда я удаляю тексты в текстовом поле и затем возвращаюсь из всплывающего окна, приложение вылетает из-за того, что элементы кнопки не обнаружены. Я не понимаю, почему ноль. Я что-то здесь упускаю?
if !resultText.isEmpty {
navigationItem.rightBarButtonItem = nil
} else {
navigationItem.setRightBarButtonItems([filterItem, mapItem], animated: false)
}