我們已經(jīng)知道,Block的本質(zhì)就是一個(gè)oc對(duì)象,那么Block的基類的類型肯定是NSObject了。 要了解Block本質(zhì),可以參考我之前的博客:11 iOS底層原理 - B...
大家在面試的時(shí)候是不是經(jīng)常遇到這樣的面試題:運(yùn)行下面的代碼,打印結(jié)果是是什么?為什么? 這個(gè)面試題呢,也就是今天要主要說的內(nèi)容:Block的值捕獲。那么,下面就針對(duì),局部變量...
廢話不多說,老規(guī)矩,還是來到面試題: 一,block的原理是什么?本質(zhì)是什么樣的? 帶著疑問,咋們一起看看block的底層到底長啥樣... 研究本質(zhì),我們常用的手段就是,就是...
在研究Block本質(zhì)之前呢,先簡(jiǎn)單說下,block的語法。 一,Block語法 1. 標(biāo)準(zhǔn)聲明與定義 可以拆開來寫: 1>聲明部分 參數(shù)說明: 2> 定義部分,匿名bloc...
廢話不多說,老規(guī)矩,還是先來道面試題: 一,Category能否添加成員變量?如果可以,如何給Category添加成員變量? 帶著問題咋們來看看分類到底能不能添加成員變量.....
首先,要弄明白這兩個(gè)之間的本質(zhì)區(qū)別,請(qǐng)看我之前的博客06 iOS底層原理 - +load方法本質(zhì)探究和07 iOS底層原理 - +initialize方法探究 這里只總結(jié)兩者...
廢話不多說,老規(guī)矩,先來個(gè)面試題: 一,load、initialize方法的區(qū)別什么?它們?cè)赾ategory中的調(diào)用的順序?以及出現(xiàn)繼承時(shí)他們之間的調(diào)用過程 帶著問題我們對(duì)i...
廢話不多說,還是老規(guī)矩,先來個(gè)面試題: Category中有l(wèi)oad方法嗎?load方法是什么時(shí)候調(diào)用的?load 方法能繼承嗎? 帶著疑惑和問題咋們研究下+load和+in...
廢話不多說,老規(guī)矩,還是來兩道面試題: 一,Category的實(shí)現(xiàn)原理;二,Category和Extension的區(qū)別 帶著問題我們對(duì)Category一探究竟 在我們平時(shí)開發(fā)...
老規(guī)矩,還是先來兩個(gè)面試題: 一,通過KVC修改屬性會(huì)觸發(fā)KVO嗎?二,KVC的賦值和取值過程是怎樣的?原理是什么? 什么是KVC呢? KVC的全稱是Key-Value Co...
廢話不多說先來幾個(gè)面試題: 一,iOS用什么方式實(shí)現(xiàn)對(duì)一個(gè)對(duì)象的KVO?(KVO的本質(zhì)是什么?)二,如何手動(dòng)觸發(fā)KVO三,直接修改成員變量會(huì)觸發(fā)KVO嗎? 通過挖掘KVO的本...
廢話不多說,先看兩道面試題: OC對(duì)象的isa指針指向哪里?instance的isa指向calss對(duì)象class的isa指向meta-classmeta-class的isa指...
廢話不多說,要了解OC對(duì)象的本質(zhì),先要明確一點(diǎn),都有哪些是屬于OC的對(duì)象:實(shí)例對(duì)象,類對(duì)象,元類對(duì)象。 一,Object-C對(duì)象 1. instance (實(shí)例對(duì)象) 即al...