我正在使用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中销毁控制器,然后重新创建一个全新的控制器。


我不知道要继续。任何帮助表示赞赏。我知道你可以!

编辑:这是连接检查器的屏幕截图:ios - 连接到 Storyboard 的SearchBar为零-LMLPHP

EDIT2:Filtro Localita T是我的TableViewController,如您在第二张屏幕截图ios - 连接到 Storyboard 的SearchBar为零-LMLPHP中所见

最佳答案

我解决了问题出在推送到该控制器上。代替:

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/

10-12 14:46
查看更多