单例模式的两种写法(刚刚)

来源:互联网 发布:lte网络优化工作怎么样 编辑:程序博客网 时间:2024/06/03 15:18

单例模式是iOS开发中最常用的设计模式,iOS的单例模式有两种官方写法,如下:

1,常用写法

#import "LGManagerCenter.h"static LGManagerCenter *managerCenter;@implementation LGManagerCenter+(LGManagerCenter *)sharedManager{    if(!managerCenter)        managerCenter=[[self allocWithZone:NULL] init];    return  managerCenter;}@end

2,用GCD创建单例类

#import "LGManagerCenter.h"@implementation LGManagerCenter+(LGManagerCenter *)sharedManager{    static dispatch_once_t predicate;    static LGManagerCenter * managerCenter;    dispatch_once(&predicate, ^{        managerCenter=[[LGManagerCenter alloc] init];    });    return managerCenter;}@end

其中dispatch_once函数只执行一次。

0 0