self.navigationItem.rightBarButtonItem?.customView =无崩溃

时间:2018-11-09 02:34:58

标签: ios

当我使用方法self.navigationItem.rightBarButtonItem?.customView = nil时。然后崩溃了,日志为-[__NSArrayM replaceObjectAtIndex:withObject:]: object cannot be nil。此问题仅发生在小型设备中。

2 个答案:

答案 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

如果这对您有用,请帮助投票支持其他人。