調(diào)用 nil 對(duì)象的 method 之后?

如果對(duì)象類型是 Object, 返回 nil; 如果是 int、 bool 等基本類型, 則返回 0.
如果調(diào)用 block 則會(huì) crash.

那這幾種情況中發(fā)生了什么?

首先調(diào)用 block 和其他幾種不一樣, 其他都是 msgSend 的模式, 而調(diào)用 block 是讀取內(nèi)存地址來執(zhí)行的. nil 的 block 還是按照定義的 block 長度去讀取地址, 自然讀取了其他東西, segmentation fault.

msgSend 的調(diào)用模式是 runtime 來判斷調(diào)用的對(duì)象是否為 nil, 從而返回和調(diào)用對(duì)象相對(duì)應(yīng)的0值對(duì)象. id(0) = nil, 0, 0*(指針對(duì)象).

?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 12,529評(píng)論 6 13
  • 去年的今天是我和F先生訂婚的日子,和他在一起的這一年里幸??鞓芬灿校瑺幊硞囊灿?,普普通通的小夫妻的模樣,其實(shí)還是...
    未璐閱讀 249評(píng)論 0 0
  • 腎病反復(fù)發(fā)作這個(gè)問題,讓不少腎病患者感到很無奈。 明明各項(xiàng)指標(biāo)都轉(zhuǎn)陰了,自己也按時(shí)吃藥,為什么,怎么就還復(fù)發(fā)呢? ...
    小寶說腎閱讀 288評(píng)論 0 0
  • 指間掐不住的是時(shí)間,留不住的是歲月,軍訓(xùn)只是大學(xué)美好時(shí)光的一個(gè)縮影,為期半個(gè)月的時(shí)間就這樣在時(shí)光的長河...
    半島笙閱讀 525評(píng)論 0 0
  • 挑戰(zhàn)成功的一瞬間 生活中有許多事情發(fā)生在一瞬間,比如有些人在一瞬間有所覺悟,一些故事在一瞬間讓人成長,還有一瞬...
    我要努力加油閱讀 232評(píng)論 0 0

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