我是objective-c的新手,我只是想知道该怎么做?我会创建一个常量并简单地填充它吗?
示例
我有一个NSString*日期。我从互联网上获取了一些数据,现在我在这个变量中有了我想要的日期。我希望能够在任何时候使用这个NSString,而不需要调用在程序中的任何范围内返回它的方法。
提前感谢!
根据答案决定使用singletons。。。
我将把代码放在哪里,以从互联网上检索变量将保存的日期?它会在这里吗?
static SingletonClass *sharedInstance = nil;
// Get the shared instance and create it if necessary.
+ (SingletonClass *)sharedInstance {
if (sharedInstance == nil) {
sharedInstance = [[super allocWithZone:NULL] init];
}
//Put Code here??
return sharedInstance;
}
您可以使用Singleton模式。这是教程。当您定义它时,您可以将变量NSString*date设置为singleton的属性并使用它
编辑如果你只需要从互联网上获取一次数据,请输入你的代码
if (sharedInstance == nil) {
sharedInstance = [[super allocWithZone:NULL] init];
//here
}
如果你想在每次访问变量数据时更新它,你需要为这个变量创建getter并放入代码
- (NSString *)myDate {
NSString *date;
//here
return date;
}
如果您所做的只是存储一个日期变量,我建议使用NSUserDefaults。如果使用singleton,那么无论如何都必须在两次启动之间保持数据。NSUserDefaults是一个单例。如果您创建了一个singleton,那么您将创建另一个类,依此类推。
存储:
NSDate *updateDate = [NSDate date];
[[NSUserDefaults standardUserDefaults] updateDate forKey:@"lastUpdateDate"];
[[NSUserDefaults standardUserDefaults] synchronize];
检索:
NSDate *updateDate = [[NSUserDefaults standardUserDefaults] dateForKey:@"lastUpdateDate"];