当我使用方法self.navigationItem.rightBarButtonItem?.customView = nil
时。然后崩溃了,日志为-[__NSArrayM replaceObjectAtIndex:withObject:]: object cannot be nil
。此问题仅发生在小型设备中。
答案 0 :(得分:0)
似乎崩溃发生在iOS 10以及低于iOS 10的设备上。原因是您可能在创建UIBarButtonItem
时使用customView,如下所示。
//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
答案 1 :(得分:0)
如果您尝试访问self.navigationItem.rightBarButtonItem?.customView
,它将返回nil
或导致应用崩溃。
要在添加后访问customView
,必须使用Swift
标准方法进行访问:
navigationItem.rightBarButtonItems?.first?.customView
检查下面的答案:
https://stackoverflow.com/a/60295524/1399938
如果这对您有用,请帮助投票支持其他人。