深拷貝炉爆,淺拷貝
在有指針的情況下蔬浙,淺拷貝只是增加了一個(gè)指針指向已經(jīng)存在的內(nèi)存铝耻,而深拷貝就是增加一個(gè)指針并且申請(qǐng)一個(gè)新的內(nèi)存誊爹,使這個(gè)增加的指針指向這個(gè)新的內(nèi)存,采用深拷貝的情況下瓢捉,釋放內(nèi)存的時(shí)候就不會(huì)出現(xiàn)在淺拷貝時(shí)重復(fù)釋放同一內(nèi)存的錯(cuò)誤频丘!
數(shù)據(jù)持久化的意義
- 通過(guò)持久化技術(shù)可以減少訪問(wèn)數(shù)據(jù)庫(kù)數(shù)據(jù)次數(shù),增加應(yīng)用程序執(zhí)行速度泡态;
- 代碼重用性高搂漠,能夠完成大部分?jǐn)?shù)據(jù)庫(kù)操作;
- 松散耦合某弦,使持久化不依賴(lài)于底層數(shù)據(jù)庫(kù)和上層業(yè)務(wù)邏輯實(shí)現(xiàn)桐汤,更換數(shù)據(jù)庫(kù)時(shí)只需修改配置文件而不用修改代碼而克。
1)userdefaults
2)文件系統(tǒng):plist(也就是xml),txt等等
3)歸檔,也就是序列化
4)數(shù)據(jù)庫(kù)(sqlite),core data,FMDB封裝的數(shù)據(jù)庫(kù)....
判斷用戶是否登錄
登陸成功后,會(huì)返回一個(gè)token怔毛,token保存下來(lái)员萍,token可以標(biāo)示用戶什身份,用來(lái)和服務(wù)器交互拣度,每次啟動(dòng)通過(guò)token判斷碎绎,有就是登錄狀態(tài),如果token失效后就需要重新登錄蜡娶。
Copy協(xié)議
強(qiáng)弱引用
指針
單例
在開(kāi)發(fā)中經(jīng)常會(huì)用到單例設(shè)計(jì)模式,目的就是為了在程序的整個(gè)生命周期內(nèi)映穗,只會(huì)創(chuàng)建一個(gè)類(lèi)的實(shí)例對(duì)象窖张,而且只要程序不被殺死,該實(shí)例對(duì)象就不會(huì)被釋放蚁滋。下面我們來(lái)看看單例的概念宿接、用途、如何創(chuàng)建辕录,以便加深理解睦霎。
單例作用
在應(yīng)用這個(gè)模式時(shí),單例對(duì)象的類(lèi)必須保證只有一個(gè)實(shí)例存在走诞。許多時(shí)候整個(gè)系統(tǒng)只需要擁有一個(gè)的全局對(duì)象副女,這樣有利于我們協(xié)調(diào)系統(tǒng)整體的行為。比如在APP開(kāi)發(fā)中我們可能在任何地方都要使用用戶的信息蚣旱,那么可以在登錄的時(shí)候就把用戶信息存放在一個(gè)文件里面碑幅,這些配置數(shù)據(jù)由一個(gè)單例對(duì)象統(tǒng)一讀取,然后服務(wù)進(jìn)程中的其他對(duì)象再通過(guò)這個(gè)單例對(duì)象獲取這些配置信息塞绿。這種方式簡(jiǎn)化了在復(fù)雜環(huán)境下的配置管理沟涨。
有的情況下,某個(gè)類(lèi)可能只能有一個(gè)實(shí)例异吻。比如說(shuō)你寫(xiě)了一個(gè)類(lèi)用來(lái)播放音樂(lè)裹赴,那么不管任何時(shí)候只能有一個(gè)該類(lèi)的實(shí)例來(lái)播放聲音。再比如诀浪,一臺(tái)計(jì)算機(jī)上可以連好幾個(gè)打印機(jī)棋返,但是這個(gè)計(jì)算機(jī)上的打印程序只能有一個(gè),這里就可以通過(guò)單例模式來(lái)避免兩個(gè)打印任務(wù)同時(shí)輸出到打印機(jī)中雷猪,即在整個(gè)的打印過(guò)程中我只有一個(gè)打印程序的實(shí)例懊昨。