1韭赘、什么是單例?
在整個(gè)項(xiàng)目中翘县,單例類(lèi)的對(duì)象只能被初始化一次诺擅。
2市袖、實(shí)現(xiàn)方式
方法一:
方法二:
調(diào)用方法:MyManager *sharedManager = [MyManager sharedManager];
3、為什么用單例烁涌?
第一苍碟、單例模式用來(lái)限制一個(gè)類(lèi)只能創(chuàng)建一個(gè)對(duì)象,那么此對(duì)象的屬性可以存儲(chǔ)全局共享的數(shù)據(jù)撮执。所有類(lèi)都可以訪問(wèn)微峰、設(shè)置此單例對(duì)象中的屬性數(shù)據(jù);
第二抒钱、如果一個(gè)類(lèi)創(chuàng)建的時(shí)候非常的耗費(fèi)資源或影響性能蜓肆,那么此對(duì)象可以設(shè)置為單例以節(jié)約資源和提高性能掂榔;
單例類(lèi)保證了應(yīng)用程序的生命周期中有且僅有一個(gè)該類(lèi)的實(shí)例對(duì)象,而且易于外界訪問(wèn)症杏。
4、iOS系統(tǒng)的一些單例類(lèi)
UIApplication
NSNotificationCenter
NSFileManager
NSUserDefaults
NSURLCache
NSHTTPCookieStorage