? ? ? ? ? ? ? ? ?單例的創(chuàng)建步驟和使用說明
一蜕径、基本概念
? ? ? 1.單例設(shè)計(jì)模式運(yùn)用較為普遍、廣泛且較為簡(jiǎn)單的設(shè)計(jì)模式之一败京,他的設(shè)計(jì)原理是始終返回一個(gè)實(shí)例兜喻,即一個(gè)類始終只有一個(gè)實(shí)例
? ? ?2.單例模式,也叫單子模式喧枷,是一種常用的軟件設(shè)計(jì)模式虹统。在應(yīng)用這個(gè)模式時(shí)弓坞,單例對(duì)象的類必須保證只有一個(gè)實(shí)例存在隧甚。許多時(shí)候整個(gè)系統(tǒng)只需要擁有一個(gè)的全局對(duì)象,這樣有利于我們協(xié)調(diào)系統(tǒng)整體的行為渡冻。比如在某個(gè)服務(wù)器程序中戚扳,該服務(wù)器的配置信息存放在一個(gè)文件中,這些配置數(shù)據(jù)由一個(gè)單例對(duì)象統(tǒng)一讀取族吻,然后服務(wù)進(jìn)程中的其他對(duì)象再通過這個(gè)單例對(duì)象獲取這些配置信息帽借。這種方式簡(jiǎn)化了在復(fù)雜環(huán)境下的配置管理
? ? ?3.單例可以作為全局文件存在 保存一些全局?jǐn)?shù)據(jù)
二、創(chuàng)建單例的基本步驟
? ? ?1超歌、保留一個(gè)單例對(duì)象的靜態(tài)實(shí)例砍艾,并初始化為nil
? ? ? 2、提供一個(gè)類方法讓外界訪問唯一的實(shí)例
? ? ? 3巍举、重寫allocWithZone方法脆荷,在這里創(chuàng)建唯一的實(shí)例,注意線程安全
? ? ? 4 懊悯、遵守NSCopying協(xié)議蜓谋,實(shí)現(xiàn)copyWithZone方法
三、練習(xí):
? ? ?將用戶的個(gè)人信息保存在單例類中
? ? ?設(shè)計(jì)步驟代碼如下
? ? ?準(zhǔn)備工作:創(chuàng)建一個(gè)項(xiàng)目炭分,再建立連個(gè)類User和Person桃焕,淡然名字你可以根據(jù)需求自己創(chuàng)建想要的類名,下面通過五個(gè)截圖來介紹捧毛,一定要把兩個(gè)類的.h文件導(dǎo)入到main.c里面
? ??1. 主函數(shù)
3.? User的.h文件
? ? ? ?3. ? User的.m文件 ? ?兩(+)和 一 (-) :也就是兩個(gè)類方法观堂,一個(gè)對(duì)象方法來保證單例的意義所在,始終只有
一個(gè)對(duì)象
4.Person的.h文件
5.Person的.m文件
? ? ? ?本人才疏學(xué)淺呀忧,有問題歡迎多多指正?
? ? ? ? ?可以加好友多交流师痕,QQ:2318151015