objc tips - 单例实现 pattern

2015-07-20 13:29:26 +08:00
 zhsoft88
+ (instancetype)sharedService {
  static id instance;
  static dispatch_once_t onceToken;

   dispatch_once(&onceToken, ^{
      instance = [self new];
    });

    return instance;
 }

用id而不是实际的类名,用dispatch_once保证只调用一次,用[self new]创建对象,也不用实际的类名。

1667 次点击
所在节点    iOS
1 条回复
pljhonglu
2015-07-20 15:55:32 +08:00
你在干嘛。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/206935

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX