如何检查为什么视图控制器没有请求就被解雇了

时间:2019-05-24 20:41:33

标签: swift xcode

我正在使用UITableView实现UISearchBarTableViewController在调用以下函数后被解雇了:

  func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
    print ("in searchBarCancelButtonClicked")
    searchBar.resignFirstResponder()
    self.resultSearchController.isActive = false
    self.tblview.reloadData()

}

我尝试使用viewDidDisappearviewWillDisappear调试其背后的原因:

  override func viewDidDisappear(_ animated: Bool) {


  super.viewDidDisappear(animated)

    if self.isBeingDismissed{
    print("isBeingDismissed")
    }

    if self.isMovingToParent{
        print("isMovingToParent")
    }

    if self.isMovingFromParent{
        print("isMovingFromParent")
    }

    if self.isBeingPresented{
        print("isBeingPresented")
    }

    if self.isModalInPopover{
        print("isModalInPopover")
    }
}

从调试器查看器看,似乎没有什么烦恼:

  

2019-05-24 23:32:04.497835 + 0300 xx [38392:833231] [MC] systemgroup.com.apple.configurationprofiles路径的系统组容器为/ Users / mr3li / Library / Developer / CoreSimulator / Devices / BC644F58-4B75-4B77-B942-5A9FCD608F65 / data / Containers / Shared / SystemGroup / systemgroup.com.apple.configurationprofiles   2019-05-24 23:32:04.499049 + 0300 xx [38392:833231] [MC]从私人有效用户设置中读取。

1 个答案:

答案 0 :(得分:0)

我替换了此代码:

self.resultSearchController.isActive = false

有了这个,对我来说很好:

searchBar.endEditing(true)

func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
    print ("in searchBarCancelButtonClicked")
    searchBar.resignFirstResponder()
    searchBar.endEditing(true)
    //self.resultSearchController.isActive = false
    searching = false
    self.tblview.reloadData()

}