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
}()
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。