---
#####更多
* 9.OC有多繼承嗎慰于?沒有的話用什么代替氧苍?
OC中沒有多繼承旁理,可以用委托代理Protocol來實(shí)現(xiàn)妆偏。
* 10.Objective-C如何對內(nèi)存管理的?內(nèi)存管理的原則是刨肃?
Objective-C的內(nèi)存管理主要有三種方式ARC(自動引用計數(shù))古拴、MRC(手動內(nèi)存計數(shù))、autorelease(自動釋放池)真友。
每個對象都有一個引用計數(shù)器黄痪,每個新對象的計數(shù)器是1,當(dāng)對象的計數(shù)器減為0時盔然,就會被銷毀桅打。
內(nèi)存管理原則(配對原則):只要出現(xiàn)了 new/alloc/retain,就一定配對出現(xiàn)一個release/autorelease。
* 11轻纪、Object C中創(chuàng)建線程的方法是什么?如果在主線程中執(zhí)行代碼油额,方法是什么?如果想延時執(zhí)行代碼、方法又是什么?
線程創(chuàng)建有三種方法:使用NSThread創(chuàng)建刻帚、使用GCD的dispatch潦嘶、使用子類化的NSOperation,然后將其加入NSOperationQueue;在主線程執(zhí)行代碼,方法是performSelectorOnMainThread崇众,如果想延時執(zhí)行代碼可以用performSelector:onThread:withObject:waitUntilDone:掂僵;
* 12、淺復(fù)制和深復(fù)制的區(qū)別?
淺復(fù)制:只復(fù)制指向?qū)ο蟮闹羔樓旮瑁粡?fù)制引用對象本身锰蓬。
深復(fù)制:復(fù)制引用對象本身。
意思就是說我有個A對象眯漩,復(fù)制一份后得到A_copy對象后芹扭,對于淺復(fù)制來說,A和A_copy指向的是同一個內(nèi)存資源赦抖,復(fù)制的只不過是是一個指針舱卡,對象本身資源還是只有一份,那如果我們對A_copy執(zhí)行了修改操作,那么發(fā)現(xiàn)A引用的對象同樣被修改队萤,這其實(shí)違背了我們復(fù)制拷貝的一個思想轮锥。深復(fù)制就好理解了,內(nèi)存中存在了兩份獨(dú)立對象本身。
用通俗的話講就是:淺復(fù)制好比你和你的影子要尔,你完蛋舍杜,你的影子也完蛋;深復(fù)制好比你和你的克隆人赵辕,你完蛋既绩,你的克隆人還活著。