我有一个变量,在整个程序中我需要这个变量。现在代码是下一个: .h文件
extern RequestParams* newUser;
.m文件
RequestParams* newUser;
但它很糟糕。信息无法获得此变量。 解决这个问题的最佳方法是什么? 谢谢。
答案 0 :(得分:2)
您必须使用NSUserDefault
或Singleton
来处理各种控制器之间的变量值。
这两种方法都用于需要跨多个View Controller维护和访问变量值的场景。您可以根据自己的选择选择其中一种。
NSUserDefault
可以存储可在整个应用中全局访问的多个键值对。 Singleton可以帮助您创建一个静态的对象/变量,因此之后不会创建它的其他实例。整个应用程序只保留一个实例。
以下链接可能会对您有所帮助。
Another NSUserDefault Tutorial
希望这有帮助!
答案 1 :(得分:1)
如果您只需要编程,那么您可以将其创建为单身
// constants.h
+ (RequestParams*) newUser;
// constants.m
+ (RequestParams*) newUser{
static RequestParams* instance = nil;
if (instance == nil) {
// initiate your instance here;
}
return instance;
}
// you can Use it where you required
[constants newUser];
如果您想关闭应用程序,那么您需要使用NSUserDefault来保存它。
如果这对您有帮助,那么您可以接受它作为解决方案。