各種程式語言都有單例模式。起初23設計模式是來自c++總結設計出來的。其他程式語言陸續也出來了。
直接上原始碼。為了方便起見,列印日誌我也放到原始碼裡面了。
//
// viewcontroller.m
// 22-單例模式
//// created by 魯軍 on 2021/2/17.
//#import "viewcontroller.h"
#import "networktools.h"
@inte***ce viewcontroller (
)@end
@implementation viewcontroller-(
void
)viewdidload
//測試加鎖的 建立時間-(
void
)testbeginandendtimesynchronized
cfabsolutetime end =
cfabsolutetimegetcurrent()
;nslog
(@"加鎖 %lf"
,end-start);}
//測試once的時間-(
void
)testbeginandendtimeone
cfabsolutetime end =
cfabsolutetimegetcurrent()
;nslog
(@"one %lf"
,end-start);}
@end
//
// networktools.h
// 22-單例模式
//// created by 魯軍 on 2021/2/17.
//#import
ns_assume_nonnull_begin
@inte***ce networktools : nsobject
+(instancetype)sharednetworktools;
+(instancetype)sharednetworktoolsonce;
@end
ns_assume_nonnull_end
//
// networktools.m
// 22-單例模式
//// created by 魯軍 on 2021/2/17.
//#import "networktools.h"
@implementation networktools
+(instancetype)sharednetworktools
}return instance;}+
(instancetype)sharednetworktoolsonce})
;return instance;
}@end
iOS開發之單例模式
單例模式是一種常用的軟體設計模式,在應用這個模式時,單例物件的類必須保證只有乙個例項存在。通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。單例的實現步驟 1 重寫alloc...
iOS 開發之單例模式
單例就是工程中只初始化一次,節省記憶體空間,或者共享資源。例如在建立藍芽類,或者做wifi通訊時經常用到。也可以用來傳值。一下介紹兩種建立單例的方法 一,考慮執行緒安全的寫法 考慮執行緒安全的寫法 return modeltool物件 instancetype sharemodel return m...
ios 開發之單例模式
在ios開發中,有很多地方都選擇使用單例模式。有很多時候必須要建立乙個物件,並且不能建立多個,用單例就為了防止建立多個物件。單例模式的意思就是某乙個類有且只有乙個例項。單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。一 單例模式的三要點 1.該類有且只有乙...