我使用一个属性(名称为'userInteractionEnabled')来改变navigationController.navigationBar的状态,但Xcode抛出错误,
你可以看到这段代码,当App调用Xcode抛出错误的[self viewDidDisappear:]方法时。 错误消息:EXC_BAD_ACCESS(code = 2,address = 0x7fff5bc8bfb8)
你可以请我吗? 为什么Xcode会抛出错误? 为什么要抛出EXC_BAD_ACCESS? 为什么?答案 0 :(得分:2)
你有一个递归问题。您正在处理对上一次属性更改的观察时修改被观察的属性。
查看堆栈跟踪。由于每次观察都会再次改变属性,所以它一遍又一遍地调用观察者。
不要直接在observeValueForKeyPath
方法中更改观察到的属性。