2016-09-17 31 views
1

我使用属性(名字“userInteractionEnabled”)来改变navigationController.navigationBar的状态,但Xcode中抛出错误,如何使用“userInteractionEnabled”属性中的iOS

请看看这个图片: enter image description here

当App调用Xcode抛出Error的[self viewDidDisappear:]方法时,您可以看到此代码。 错误消息:EXC_BAD_ACCESS(code = 2,address = 0x7fff5bc8bfb8)

请问我可以吗? 为什么Xcode抛出错误? 为什么要抛出EXC_BAD_ACCESS? 为什么?

+0

这可能会帮助你http://stackoverflow.com/questions/9116557/when-should-i-call-removeobserverforkeypath-from-within-a-closing-viewcontrolle –

回答

2

您有递归问题。在处理观察对属性的先前更改时,您正在修改观察属性。

看看堆栈跟踪。由于每次观察都会再次改变属性,所以一直在反复调用观察者。

不要直接在observeValueForKeyPath方法中更改观察属性。

+0

非常感谢 – user5465320