UIViewController上的BOOL属性自行更改

时间:2013-02-28 21:08:12

标签: ios uiviewcontroller segue

在viewController上我有一个BOOL属性,设置了wantAsk(非原子,assign),我可以通过self.wantsAsk访问它。当我转到另一个视图控制器(vcB)时,我设置了其wantAsk 与vcA相同。当返回A时,调用vcB的prepareToSegue方法 我从seque(segue.destinationViewController)获得了一个指向vcA的指针;但它显示vcA的值都错了。尤其是,应该(并且是)YES的wantAsk现在是NO。

我试图在wantAsk上设置一个watchPoint,但它永远不会被触发。我一直都在使用这种通用设备,并想知道为什么它会在这里失败。

2 个答案:

答案 0 :(得分:1)

如果您想要回到视图控制器A,则很可能会重新实例化它。因此,新的A视图控制器与您原来的A视图控制器不同。

相反,只需跳过准备从B到A的segue。如果你正在使用导航控制器,让它注意返回A.如果B是模态的,只需调用dismissViewController

答案 1 :(得分:0)

前提是你只对你的属性使用setter方法(即你不使用_wantsAsk =,或者你的合成var是什么)你可以通过使用符号断点来确切地确定它的设置位置。转到断点窗口并单击符号断点或使用默认的Xcode快捷键按cmd + opt + \从那里添加“setWantsAsk:”(不带引号)。运行程序并检查它停止的位置。

Symbolic Debugging