一些面試題的總結(jié)

最近在找工作嵌溢,發(fā)現(xiàn)凿歼,以前有些沒注意到的東西被問到了,好尷尬,于是今天總結(jié)一下吧绒疗,以后回顧起來方便。
1慷丽、objc中向一個對象發(fā)送消息<code>[obj foo];</code>和<code>objc_msgSend()</code>大概會像這樣:

((void (*)( id , SEL)) ;
((void)objc_msgSend);
((id)obj,sel_registerName("foo"));

也就是說<code>[obj foo];</code>在OC的動態(tài)編譯時涉枫,會被轉(zhuǎn)換成<code>objc_msgSend(obj,@selecteor(foo));</code>這樣的形式,但是需要根據(jù)具體的參數(shù)類型進(jìn)行相應(yīng)的類型轉(zhuǎn)換狡赐。
2窑业、結(jié)構(gòu)體中能定義OC對象嗎?
答:不能枕屉,因?yàn)榻Y(jié)構(gòu)體中常柄,只能是類型的聲明,不能進(jìn)行分配空間搀擂。
3西潘、蘋果是如何實(shí)現(xiàn)<code>autoreleasepool</code>的?
答:<code>autoreleasepool</code>以一個隊(duì)列數(shù)組的形式實(shí)現(xiàn)哨颂,主要通過下列三個函數(shù)完成:

objc_autoreleasepoolPush
objc_autoreleasepoolPop
objc_autorelease

其實(shí)喷市,看函數(shù)名就知道,對<code>autorelease</code>分別執(zhí)行<code>push</code>威恼,<code>pop</code>操作品姓,銷毀對象時寝并,執(zhí)行<code>release</code>操作。
4腹备、OC使用什么機(jī)制管理對象內(nèi)存的(或者內(nèi)存管理方式有哪些)衬潦?
答:<code>MRC(manual retain-release)</code> 手動內(nèi)存管理
<code>ARC(automatic reference counting)</code>自動引用計(jì)數(shù)
同時OC采用計(jì)數(shù)器的機(jī)制來決定對象是否釋放,每次<code>runloop</code>完成一次循環(huán)的時候植酥,都會檢查對象的<code>retainCount</code>镀岛,如果<code>retainCount</code>為0,說明該對象沒有地方繼續(xù)使用了友驮,可以釋放掉了漂羊。
5、常見的出現(xiàn)內(nèi)存循環(huán)引用的場景有哪些卸留?
答:(1)定時器(NSTimer):NSTimer 經(jīng)常會被作為某個類的成員變量走越,而NSTimer初始化時,制定self為target艾猜,容易造成循環(huán)引用(self->timer->self),另外若timer一直處于validate的狀態(tài)买喧,則其引用計(jì)數(shù)將始終大于0,因此匆赃,在不在使用定時器的時候淤毛,應(yīng)該先調(diào)用invalidate方法。
(2)Block: block在使用時都會對block內(nèi)部用到的對象進(jìn)行強(qiáng)引用(ARC)使其引用計(jì)數(shù)加1(MRC)算柳,在ARC和MRC環(huán)境下對block使用不當(dāng)都會造成循環(huán)引用問題低淡,一般表現(xiàn)為,某個類將block作為自己的屬性變量瞬项,然后該類在block的方法體里面又使用了該類本身蔗蹋,簡單的說就是self.someBlock = Type var{[self dosomething] 或者 self.other.Var = XXX;或者 _otherVar = XXX;};出現(xiàn)循環(huán)的原因是self->block->self 或者self->block->ivar(成員變量)
(3)代理,這個簡單囱淋,在聲明代理的時候用@property(nonomatic,weak)id<xxxxx>delegate;就好這里用weak不用assgin的原因是weak可以在對象被釋放后自動將指針置為nil猪杭,在OC中向nil發(fā)送消息是不會引起程序崩潰的嗎,而assgin就不同了妥衣,在對象被釋放后皂吮,容易造成野指針。
6税手、關(guān)于block

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蜂筹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子芦倒,更是在濱河造成了極大的恐慌艺挪,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兵扬,死亡現(xiàn)場離奇詭異麻裳,居然都是意外死亡口蝠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門掂器,熙熙樓的掌柜王于貴愁眉苦臉地迎上來亚皂,“玉大人俱箱,你說我怎么就攤上這事国瓮。” “怎么了狞谱?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵乃摹,是天一觀的道長。 經(jīng)常有香客問我跟衅,道長孵睬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任伶跷,我火速辦了婚禮掰读,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叭莫。我一直安慰自己蹈集,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布雇初。 她就那樣靜靜地躺著拢肆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪靖诗。 梳的紋絲不亂的頭發(fā)上郭怪,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機(jī)與錄音刊橘,去河邊找鬼鄙才。 笑死,一個胖子當(dāng)著我的面吹牛促绵,可吹牛的內(nèi)容都是我干的攒庵。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼绞愚,長吁一口氣:“原來是場噩夢啊……” “哼叙甸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起位衩,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤裆蒸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后糖驴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體僚祷,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡佛致,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了辙谜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俺榆。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖装哆,靈堂內(nèi)的尸體忽然破棺而出罐脊,到底是詐尸還是另有隱情,我是刑警寧澤蜕琴,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布萍桌,位于F島的核電站,受9級特大地震影響凌简,放射性物質(zhì)發(fā)生泄漏上炎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一雏搂、第九天 我趴在偏房一處隱蔽的房頂上張望藕施。 院中可真熱鬧,春花似錦凸郑、人聲如沸裳食。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胞谈。三九已至,卻和暖如春憨愉,著一層夾襖步出監(jiān)牢的瞬間烦绳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工配紫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留径密,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓躺孝,卻偏偏與公主長得像享扔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子植袍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 1.1 什么是自動引用計(jì)數(shù) 概念:在 LLVM 編譯器中設(shè)置 ARC(Automaitc Reference Co...
    __silhouette閱讀 5,084評論 1 17
  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉于个,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 1,682評論 0 9
  • 手賬
    A小姐的情書閱讀 130評論 0 0
  • 今天星期一上班第一天氛魁,早上六點(diǎn)起了床,去理工大學(xué)演示迎新系統(tǒng),匯總了很多意見秀存,感覺又要大干一場了捶码,結(jié)束完理工的演示...
    Even丶閱讀 119評論 0 0
  • 一位朋友(武漢華農(nóng)的植物博士)跟我講他眼中的植物,不是我們眼中的樹桿或链、樹枝惫恼、樹葉,取而代之是眾多公式和數(shù)據(jù)等澳盐; 心...
    劉旗閱讀 278評論 0 1