单例对象的创建

来源:互联网 发布:linux查看tcp连接状态 编辑:程序博客网 时间:2024/04/29 09:01

方法一、

+ (SNFavoriteDataSourceCreator *)sharedSNTableViewHeaderCreator
{
    static dispatch_once_t onceToken;
    static SNFavoriteDataSourceCreator *creator = nil;
    dispatch_once(&onceToken, ^{
        creator = [[[self class] alloc] init];
    });
    return creator;
}


方法二、

static StyleFactory *instance = nil;

+(StyleFactory *)sharedStyleFactory
{
    if (instance == nil)
    {
        @synchronized(instance)
        {
            instance = [[StyleFactory alloc] init];
            //load settings
            [instance loadCellStyleSetting];
            [instance loadTemplateSetting];
        }
    }
    return instance;
}

0 0