我举个例子:
我正在使用两个 View Controller ,将其命名为“Home”和“Sales”。首先,我使用推送从“主页”导航到“销售”。在销售 View Controller 中,我全局声明了一个 int 值并将其分配为零。像这样:
int example_int = 0;
之后,Sales View Controller 中进行了一些处理,并且 example_int 值发生了变化,例如它的值为 2。接下来,它使用 pop 导航回主页。出于测试目的,我导航回 Sales 和 NSLog example_int,它给出了相同的值 2。
这最初给我带来了问题。但我已经通过使用 func: viewWillDismiss 并将 example_int 分配给 0(默认值)来解决它。所以现在,我只是好奇这里发生了什么。谢谢。
最佳答案
如果 example_int 变量的使用仅限于销售 View ,则全局变量将在整个应用程序生命周期中持续存在,在这种情况下,您应该创建 example_int 作为销售 View Controller 的成员变量。如果需要将 example_int 变量保持为全局变量,那么您需要根据您的要求将 example_int 的值重置为 0(在您的情况下,在销售 View Controller 的 viewDidDisappear 或 viewDidUnLoad 方法中)。
关于ios - 当 UIViewController 关闭 iOS 时,int 值仍然保持不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29203293/