我正在使用Xcode 9.0。
我的问题很容易:我在TableViewController中放置了一个UISearchBar对象。我将此mySearchBar作为IBOutlet连接到TableViewController类:
class MyTableViewController: UITableViewController, UISearchBarDelegate, UINavigationControllerDelegate {
@IBOutlet weak var mySearchBar: UISearchBar!
@IBOutlet var myTableView: UITableView!
}
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.delegate = self
self.mySearchBar.delegate = self // EXC_BREAKPOINT HERE
self.myTableView.delegate = self
self.myTableView.backgroundColor = UIColor.init(red: 0.0/255.0, green: 60.0/255.0, blue: 113.0/255.0, alpha: 1.0)
}
左侧的圆圈已填充-因此,我确定对象已正确连接。
当我运行项目时,它会停在上面的行中,并显示错误消息:
致命错误:解开Optional值时意外发现nil。
我尝试过了:
清理项目并重建
删除derivedData,清理并重建
删除StoryBoard中的UIsearchBar对象,放置一个新对象并重新连接为IBOutlet
在StoryBoard中销毁控制器,然后重新创建一个全新的控制器。
我不知道要继续。任何帮助表示赞赏。我知道你可以!
编辑:这是连接检查器的屏幕截图:
EDIT2:Filtro Localita T是我的TableViewController,如您在第二张屏幕截图
最佳答案
我解决了问题出在推送到该控制器上。代替:
let destinationView = FiltroLocalitaTableViewController()
destinationView.palina = self.transito.palina
self.navigationController?.pushViewController(destinationView, animated: true)
我用了:
let filtroLocalitaVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "filtroLocalitaView") as! FiltroLocalitaTableViewController
filtroLocalitaVC.palina = self.transito.palina
filtroLocalitaVC.delegate = self
self.navigationController?.pushViewController(filtroLocalitaVC, animated: true)
而且有效。
关于ios - 连接到 Storyboard 的SearchBar为零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46772235/