Effective Objective-C - Familiarize Yourself with Objective-C's Roots

  1. 把Objective-C 和 C++ 兩門面向?qū)ο缶幊陶Z(yǔ)言進(jìn)行對(duì)比。它們語(yǔ)法出現(xiàn)差異的原因,是觸發(fā)對(duì)象行為的方式不同,Objective-C 是向?qū)ο髠鬟f消息的結(jié)構(gòu)模式(Objective-C 演變自 Smalltalk, Smalltalk 使用了傳遞消息的機(jī)制),而 C++ 是函數(shù)調(diào)用。代碼舉例:

        // Messaging (OBJC)
         Object *obj = [Object new];
         [obj performWith:parameter1 and:parameter2];
         
         // Function calling (C++)
         Object *obj = new Object;
         obj -> perform(parameter1, parameter2);
    
  2. Objective-C 的動(dòng)態(tài)綁定特性,在 運(yùn)行時(shí)(runtime)進(jìn)行對(duì)象方法的匹配,而不是在編譯的時(shí)候。

  3. 在 運(yùn)行時(shí) 階段,一組代碼會(huì)和你的代碼進(jìn)行合并起來(lái),并且把你的代碼和動(dòng)態(tài)庫(kù)相連接。

  4. Objective-C 中對(duì)象在內(nèi)存中的存儲(chǔ)方式。

         NSString *someString = @"The string";
         NSString *anotherString = someString;
    
內(nèi)存分配
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Objective-C[編輯]維基百科,自由的百科全書 Objective-C編程范型面向?qū)ο?設(shè)計(jì)者布萊德·考克...
    半片殘楓閱讀 1,637評(píng)論 0 6
  • *面試心聲:其實(shí)這些題本人都沒(méi)怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
    Dove_iOS閱讀 27,580評(píng)論 30 472
  • 蘋果官方文檔翻譯 《Objective-C語(yǔ)言編程》(Programming with Objective-C) ...
    fever105閱讀 26,289評(píng)論 19 129
  • 1.項(xiàng)目經(jīng)驗(yàn) 2.基礎(chǔ)問(wèn)題 3.指南認(rèn)識(shí) 4.解決思路 ios開(kāi)發(fā)三大塊: 1.Oc基礎(chǔ) 2.CocoaTouch...
    扶光啟玄閱讀 5,186評(píng)論 0 13
  • 思考:不完全信息博弈,就是利用對(duì)方不知道的前提下進(jìn)行博弈,比如,公司在選址中的談判。 選址談判,我們公司在拓展新店...
    楊雪雪閱讀 220評(píng)論 0 0

友情鏈接更多精彩內(nèi)容