单身人士目标C.

时间:2012-03-03 18:51:01

标签: objective-c ios xcode

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

我会将代码放在哪里从互联网上检索变量将保存的日期?它会在这里吗?然后我最终会使date = sharedInstance?

static SingletonClass *sharedInstance = nil;

// Get the shared instance and create it if necessary.
+ (SingletonClass *)sharedInstance
{
    if (sharedInstance == nil) {
        sharedInstance = [[super allocWithZone:NULL] init];
    }

    //Do I Put Code here?????

    return sharedInstance;
} 

提前致谢!

1 个答案:

答案 0 :(得分:0)

如果您真的想使用单例模式并且可以使用GCD定位操作系统,那么dispatch_once可以简化您的单例代码,例如。

+ (id)sharedFoo
{
    static dispatch_once_t pred;
    static Foo *foo = nil;

    dispatch_once(&pred, ^{ foo = [[self alloc] init]; });
    return foo;
 }

根据您的要求,您可以覆盖init方法以提供所需的任何其他初始化。