1.什么是KVC?
KVC,即是指 NSKeyValueCoding魏滚,一個(gè)非正式的Protocol,提供一種機(jī)制來(lái)間接訪(fǎng)問(wèn)對(duì)象的屬性坟漱。而不是通過(guò)調(diào)用Setter栏赴、Getter方法訪(fǎng)問(wèn)。KVO 就是基于 KVC 實(shí)現(xiàn)的關(guān)鍵技術(shù)之一。
2.AFNetworking實(shí)現(xiàn)原理?
AFNetworking3.0之前是NSURLConnection须眷, 之后是NSURLSession, 包括一些線(xiàn)程的優(yōu)化以及封裝等
3.淺復(fù)制和深復(fù)制的區(qū)別??
答案:淺層復(fù)制:只復(fù)制指向?qū)ο蟮闹羔槪粡?fù)制引用對(duì)象本身沟突。?
深層復(fù)制:復(fù)制引用對(duì)象本身花颗。?
意思就是說(shuō)我有個(gè)A對(duì)象,復(fù)制一份后得到A_copy對(duì)象后惠拭,對(duì)于淺復(fù)制來(lái)說(shuō)扩劝,A和A_copy指向的是同一個(gè)內(nèi)存資源,復(fù)制的只不過(guò)是是一個(gè)指針职辅,對(duì)象本身資源?
還是只有一份棒呛,那如果我們對(duì)A_copy執(zhí)行了修改操作,那么發(fā)現(xiàn)A引用的對(duì)象同樣被修改,這其實(shí)違背了我們復(fù)制拷貝的一個(gè)思想域携。深復(fù)制就好理解了,內(nèi)存中存在了兩份獨(dú)立對(duì)象本身簇秒。?
用網(wǎng)上一哥們通俗的話(huà)將就是:?
淺復(fù)制好比你和你的影子,你完蛋秀鞭,你的影子也完蛋?
深復(fù)制好比你和你的克隆人趋观,你完蛋,你的克隆人還活著锋边。
4.傳遞者鏈 和響應(yīng)者鏈?
答案: 響應(yīng)者鏈應(yīng)該是:First Responser—-> UIView -- > The Window -- >The Application -- > App Delegate?
傳遞者鏈 UIWindow -> UIView -> Next UIView -> NextView (直到用戶(hù)觸碰的那個(gè)View)
5.app退到后臺(tái)皱坛,有的再點(diǎn)開(kāi)還是之前的頁(yè)面,有的點(diǎn)開(kāi)是重啟豆巨,怎么設(shè)置?
Appdelegate方法里 有個(gè)進(jìn)入后臺(tái) 和將要返回到前臺(tái)的設(shè)置 在你將要從后臺(tái)進(jìn)入前臺(tái)的方法里 去重新設(shè)置window的 rootViewcontrller
6.重新@property (nonatomic, copy) NSString *name; 的setter方法原型;?
(void)setName:(NSString *)name?
{?
if(_name){?
[ _name release];?
_name = [name copy];?
}?
}