代码之家  ›  专栏  ›  技术社区  ›  cicaletto79

与情节提要连接的搜索栏为零

  •  0
  • cicaletto79  · 技术社区  · 7 年前

    我使用的是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)
    }
    

    左边的圆圈是实心的,所以我确信物体连接正确。 当我运行项目时,它会停在上面的一行,并显示错误消息:

    我试图:

    • 清理项目并重建
    • 删除衍生数据,清理并重建
    • 删除故事板中的UIsearchBar对象,删除一个新对象并作为IBMOutlet重新连接
    • 摧毁情节提要中的控制器并重新创建一个全新的控制器。

    我不知道该怎么办。感谢您的帮助。我知道你可以!

    编辑:这里是连接检查器的屏幕截图: enter image description here

    编辑2:Filtro Localita T是我的TableViewController,你可以在第二个屏幕截图中看到 enter image description here

    1 回复  |  直到 7 年前
        1
  •  0
  •   cicaletto79    7 年前

    我解决了。问题是推到这个控制器上。而不是:

    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)
    

    它成功了。