Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSString在应用程序进入后台后假设偶然值_Objective C_Memory Management - Fatal编程技术网

Objective c NSString在应用程序进入后台后假设偶然值

Objective c NSString在应用程序进入后台后假设偶然值,objective-c,memory-management,Objective C,Memory Management,我有一个带ARC的ios窗口应用程序 我有一个全局标题,它存储了游戏的实际语言 //in Global.h NSString *language; NSDictionary *dict; //in viewDidLoad i have language=@"en"; 在应用程序进入后台后,当我重新激活应用程序时,我将 NSLog(@"%@",language); // and the result is "<" 其他词典都是正确的。 为什么? 我怎样才能消除这个错误? 谢谢我不确定,

我有一个带ARC的ios窗口应用程序 我有一个全局标题,它存储了游戏的实际语言

//in Global.h
NSString *language;
NSDictionary *dict;

//in viewDidLoad i have
language=@"en";
在应用程序进入后台后,当我重新激活应用程序时,我将

NSLog(@"%@",language); // and the result is "<"
其他词典都是正确的。 为什么? 我怎样才能消除这个错误?
谢谢

我不确定,但我认为您还需要在实现文件.m/.c/.mm中定义NSString*语言,然后使用本地实用程序类或函数设置/获取变量,或将变量外部化。无论如何,另一种方法是使用单模式,如果你在应用程序中发生了很多事情,你可能会考虑这个模式。实现,而不是错误:-它实际上对我有效..你在哪里记录了值?我也无法重现这种行为。也许,如果您可以开发并提供一个小的测试程序来复制您看到的行为,这将是有帮助的。肯定还有一些重要的细节尚不清楚。也许您有一些代码正在更改语言变量,但尚未意识到它正在执行。创建一个处理这些变量的单例,这种情况就不会再发生了