一、什么是單例?
單例模式是一種常見(jiàn)的設(shè)計(jì)模式。“單”是指唯一性,“例”是指實(shí)例化對(duì)象,也就是使某個(gè)類的一個(gè)對(duì)象成為系統(tǒng)中的唯一實(shí)例。
這樣有什么優(yōu)點(diǎn)呢?
1.在內(nèi)存中只有一個(gè)對(duì)象,節(jié)省內(nèi)存空間。
2.避免頻繁的創(chuàng)建銷毀對(duì)象,可以提高性能。
3.避免對(duì)共享資源的多重占用。
4.可以全局訪問(wèn)。
例如,由于項(xiàng)目的需求,我需要寫我的登錄模塊,而且需求要求每次確保一個(gè)用戶登錄,而且在項(xiàng)目中大量用到登錄用戶的登錄的賬戶名,判斷登錄狀態(tài),這個(gè)時(shí)候,我就可以把登錄用戶 用單例模式來(lái)創(chuàng)建,登錄成功的時(shí)候給單例賦值,這樣就確保了只有一個(gè)對(duì)象存在,在其他類里面也可以共享這個(gè)單例了。
二、如何創(chuàng)建iOS中的單例?
首先,我創(chuàng)建一個(gè)UserEntity來(lái)保存登錄用戶的信息。
下面是.m文件
其次,我寫一個(gè)工具類Util,來(lái)幫助我存儲(chǔ)登錄用戶,實(shí)現(xiàn)單例模式
下面就去實(shí)現(xiàn)單例模式吧
三、如何使用單例對(duì)象
在LoginViewController界面,點(diǎn)擊登錄按鈕,判斷是否登錄成功。登錄成功,就要把用戶信息存儲(chǔ)起來(lái)。
在某些地方需要判斷用戶是否登錄的時(shí)候
熱點(diǎn)新聞
課程問(wèn)答