簡體   English   中英

UISearchController 的 init(searchResultsController: UIViewController?) 崩潰

[英]UISearchController's init(searchResultsController: UIViewController?) crashes

在新的 ViewController 的viewDidLoad()調用UISearchController(searchResultsController: nil)崩潰, EXC_BREAKPOINT (code=1, subcode=0x185d73080) (也就是一些 nil 可選被解包)。

如果我嘗試在另一個新項目/操場中執行代碼,它可以正常工作而不會崩潰。

還創建了一個自定義UISearchController並通過斷點對其進行調試后,它引導我使用init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?)方法,然后它崩潰了。 可能是有聯系的。

我必須提到,調用簡單的init()不會使我的應用程序崩潰。

確切的例子:

override func viewDidLoad() {
    super.viewDidLoad()
    UISearchController(searchResultsController: nil)
}

碰撞

解決了,但令人難以置信。 我創建了一個新項目並一個一個添加文件,以查看哪個干擾了我的代碼。

好像我有一個擴展:

    @IBInspectable var paddingRight: CGFloat {
    get {
        return rightView!.frame.size.width
    }
    set {
        let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: newValue, height: frame.size.height))
        rightView = paddingView
        rightViewMode = .always
    }
}

還有那個rightView! 隨機崩潰我的應用程序沒有錯誤。

吸取的教訓是,擴展會引發該錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM