我有一个导航栏,其中有两个按钮作为右栏按钮项,标题视图中有一个文本字段。如果我点击文本字段,会弹出一个搜索屏幕,我可以在文本字段中输入文本。文本字段中的文本将在下面的代码中设置“resultText”变量。按钮项,包括 filterItem 和 mapItem,与@IBOutlet 连接良好。
当文本字段不为空时,我想隐藏右栏按钮项。使用下面显示的代码,当我在文本字段中输入文本时,它最初可以正常工作。但是,当我删除文本字段中的文本然后从弹出窗口返回时,应用程序崩溃,因为发现按钮项为零。我不明白为什么它是零。我在这里错过了什么吗?
if !resultText.isEmpty {
navigationItem.rightBarButtonItem = nil
} else {
navigationItem.setRightBarButtonItems([filterItem, mapItem], animated: false)
}