如何在iOS中使用'userInteractionEnabled'属性

时间:2016-09-17 04:01:50

标签: ios xcode key-value-observing

我使用一个属性(名称为'userInteractionEnabled')来改变navigationController.navigationBar的状态,但Xcode抛出错误,

请看这个图片: enter image description here

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

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

1 个答案:

答案 0 :(得分:2)

你有一个递归问题。您正在处理对上一次属性更改的观察时修改被观察的属性。

查看堆栈跟踪。由于每次观察都会再次改变属性,所以它一遍又一遍地调用观察者。

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