1、OC写法
+ (instanceType)sharedSoundTools {
static EFSoundTools *instance = nil;
static dispatch_once_t onceToken = 0;
dispatch_once(&onceToken, ^{
instance = [[self alloc] init];
});
return instance;
}
2、仿OC写法
class EFSoundTools: NSObject {
static var instance: EFSoundTools?
static var oneToken: dispatch_once_t = 0
class func sharedSoundTools() -> EFSoundTools {
dispatch_once(&oneToken) { () -> Void in
instance = EFSoundTools()
}
return instance!
}
}
3、swift写法
static let sharedSoundTools = EFSoundTools()
4、需要自定义构造函数写法
static let sharedTools: EFNetworkTools = {
let baseURL = NSURL(string: "https://api.weibo.com/")
let tools = EFNetworkTools(baseURL: baseURL)
return tools
}()
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。