1.回忆一下OC中的单例实现

//AFNetworkReachabilityManager中的单例,省略了其他代码
@interface AFNetworkReachabilityManager : NSObject

  + (instancetype)sharedManager;

@end

@implementation AFNetworkReachabilityManager

+ (instancetype)sharedManager {
    static AFNetworkReachabilityManager *_sharedManager = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        _sharedManager = [self manager];
    });

    return _sharedManager;
}

@end

2.Swift中的单例实现

  在Swift中,有多种方式可以创建单例,比较常用也推荐使用的是如下的方式:

class GofUserSession
{
    static let shareInstance = GofUserSession();
    
    private init() {}
    
}

  提供一个空的私有init()方法,可以保证单例是真正唯一的,避免外部对象通过访问init方法创建单例类的其他实例。

相关文章:

  • 2021-12-25
  • 2021-09-12
  • 2021-11-04
  • 2021-07-22
  • 2022-02-27
  • 2022-12-23
  • 2021-06-13
  • 2022-03-06
猜你喜欢
  • 2022-12-23
  • 2021-12-15
  • 2022-12-23
  • 2021-09-16
  • 2021-10-18
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案