![](/img/trans.png)
[英]Show UISearchController's SearchResultsController on SearchBar Tap
[英]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.