![](/img/trans.png)
[英]self.navigationItem.rightBarButtonItem vs self.navigationController.navigationItem.rightBarButtonItem
[英]self.navigationItem.rightBarButtonItem?.customView = nil crash
當我使用self.navigationItem.rightBarButtonItem?.customView = nil
。 然后崩潰了,日志是-[__NSArrayM replaceObjectAtIndex:withObject:]: object cannot be nil
。 這個問題只發生在很少的設備上。
似乎崩潰即將發生在 iOS 10 及更低版本的 iOS 10 設備上。 原因是在創建一個你可以使用customView UIBarButtonItem
像下面。
//Example
self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: UIView(frame: CGRect(x: 0.0, y: 0.0, width: 40.0, height: 40.0)))
所以嘗試將 nil 設置為rightBarButtonItem
而不是rightBarButtonItem?.customView = nil
。
//Example
self.navigationItem.rightBarButtonItem = nil
如果您嘗試訪問self.navigationItem.rightBarButtonItem?.customView
,它將返回nil
或導致應用程序崩潰。
為了在添加后訪問您的customView
,您必須使用Swift
標准方式訪問它:
navigationItem.rightBarButtonItems?.first?.customView
檢查以下答案:
https://stackoverflow.com/a/60295524/1399938
如果這對你有用,請幫助投票給其他人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.