创建一个最终将包含所有方法使用的数据的变量

时间:2012-03-03 18:11:24

标签: objective-c ios xcode

我是Objective-c的新手,我只是想知道如何才能做到这一点? 我会创建一个常量并简单地填充它吗?

实施例

我有一个NSString *日期。我从互联网上获取一些数据,现在我在这个变量中有我想要的日期。我希望能够在任何时候使用这个NSString,而无需调用在我的程序中的任何范围内返回它的方法。

提前致谢!

决定根据答案使用单身人士......

我会将代码放在哪里从互联网上检索变量将保存的日期?它会在这里吗?

   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;
   } 

2 个答案:

答案 0 :(得分:0)

您可以使用Singleton模式。 Here是教程。定义它时,可以将变量NSString * date设置为singleton的属性并使用它。

修改 如果您只需要从互联网上获取一次数据 - 请输入您的代码

if (sharedInstance == nil) {  
    sharedInstance = [[super allocWithZone:NULL] init];  
    //here  
}

如果您希望每次访问变量数据时都需要更新变量数据,则需要为此变量创建getter并输入代码

- (NSString *)myDate {
NSString *date;
//here
return date;
}

答案 1 :(得分:0)

如果你所做的只是存储一个日期变量,我建议使用NSUserDefaults。如果你使用单例,那么无论如何你都必须在启动之间保持数据。和NSUserDefaults是一个单身人士。如果你创建一个单例,那么你将创建另一个类,等等。

存储:

NSDate *updateDate = [NSDate date];
[[NSUserDefaults standardUserDefaults] updateDate forKey:@"lastUpdateDate"];
[[NSUserDefaults standardUserDefaults] synchronize];

要检索:

NSDate *updateDate = [[NSUserDefaults standardUserDefaults] dateForKey:@"lastUpdateDate"];