我有ViewControllerA
和ViewControllerB
。
在故事板中,ViewControllerA
会在点击按钮后转换为ViewControllerB
。
在ViewControllerB
中,还有另一个按钮,会增加值count
。
无论count
的值如何,当用户按下后退按钮并返回ViewControllerB
时,我会认为count
的值再次为0
,但它保持在先前增加的值。
为什么会这样?我应该在viewWillAppear
或其他什么时候将值重置为0吗?
如果重要:变量不是属性,它在ViewControllerB.m
的顶部声明为int count = 0;
。
答案 0 :(得分:1)
“如果重要:变量不是属性,它在ViewControllerB.m的顶部声明为int count = 0;”
是的,它确实很重要 - 您的变量与ViewControllerB没有任何关系,因此它不会被重置。 加载视图控制器时,不是每次都加载的.m文件!它是视图控制器。
您的变量是一个全局变量,其生命周期是不属于视图控制器的应用程序的生命周期。