OC語言中最為強(qiáng)大的莫過于OC的運(yùn)行時機(jī)制-Runtime,但因其比較接近底層,一旦使用Runtime出現(xiàn)bug,將很難調(diào)試,所以Runtime在開發(fā)中能不用就不用.下面我將介紹一些Runtime在開發(fā)中的使用,已經(jīng)面試可能遇見的面試題.

1.OC語法和Runtime語法的區(qū)別

OC語法和Runtime語法的區(qū)別,換而言之就是OC中我們寫的語句,最終被轉(zhuǎn)換成Runtime中什么樣語句.由于Xcode6之后,蘋果不建議使用Runtime,也就是現(xiàn)在在編譯的時候,runtime的函數(shù)不會提示,需要去配置一下:

// 配置步驟: build Seting -> 搜索msg -> 設(shè)置成NO

創(chuàng)建一個控制臺程序,在自動釋放池中寫如下代碼:

 NSObject *objc = [NSObject alloc];
        objc = [objc init];

然后切換到終端命令行,執(zhí)行以下步驟:

cd 切換到你想生成的那個根文件的上一級目錄
clang -rewrite-objc main.m  // clang -rewrite-objc 目標(biāo)文件

會在該目錄文件下生成一個.cpp文件,打開之后搜索@autoreleasepool(這也就是當(dāng)時為什么創(chuàng)建控制器程序的原因,好查找轉(zhuǎn)換后的代碼在哪兒),就會找到轉(zhuǎn)換后的代碼:

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式