什么是RunLoop? 顧名思義:運(yùn)行循環(huán),在程序運(yùn)行過程中循環(huán)做一些事情 應(yīng)用范疇:·定時(shí)器(Timer)、PerformSelector·GCD Async Main Q...
__block修飾符 __block可以用于解決block內(nèi)部無法修改auto變量值的問題__block不能修飾全局變量、靜態(tài)變量(static) 編譯器會(huì)將__block變...
Block的類型 block有三種類型,可以通過調(diào)用class方法或者isa指針查看具體類型,最終都是集成自NSBlock類型·NSGlobalBlock(_NSConcre...
block本質(zhì)上也是一個(gè)OC對象,它內(nèi)部也有一個(gè)isa指針,block是封裝了函數(shù)調(diào)用以及函數(shù)調(diào)用環(huán)境的OC對象。 Block的底層結(jié)構(gòu) 如下圖所示: 先在項(xiàng)目中定義一個(gè)bl...
文件沒有丟失,但是項(xiàng)目原有的引用失效了,在finder中找到對應(yīng)文件重新add到項(xiàng)目中
iOS修改已有項(xiàng)目的項(xiàng)目名和類名前綴因?yàn)楣拘枨蠖鄻?,有時(shí)候需要在已有項(xiàng)目上做拓展,核心功能變化不大,會(huì)在原有基礎(chǔ)上增減部分功能,變換UI。這時(shí)候我們需要對項(xiàng)目有個(gè)整體改造,項(xiàng)目名,文件名,基礎(chǔ)配置,以及部分代...
因?yàn)楣拘枨蠖鄻?,有時(shí)候需要在已有項(xiàng)目上做拓展,核心功能變化不大,會(huì)在原有基礎(chǔ)上增減部分功能,變換UI。這時(shí)候我們需要對項(xiàng)目有個(gè)整體改造,項(xiàng)目名,文件名,基礎(chǔ)配置,以及部分代...
前言 由于目前的工作中,原生app大量嵌入h5頁面,很多的功能需要h5來實(shí)現(xiàn),但是由于h5需要從網(wǎng)絡(luò)加載,在弱網(wǎng)狀態(tài)或者請求資源大的時(shí)候必然出現(xiàn)白屏,再網(wǎng)上搜索后發(fā)現(xiàn)并沒有一...
我們知道,分類無法添加成員變量,在分類中定義了屬性,系統(tǒng)沒有生成對應(yīng)的成員變量,也沒有實(shí)現(xiàn)set和get方法。那我們?nèi)绾螌?shí)現(xiàn)為分類添加屬性呢? 通過runtime中提供的關(guān)聯(lián)...
面試題 load、initialize方法的區(qū)別是什么?他們在Category中的調(diào)用順序? load調(diào)用原理 1.+load方法會(huì)在runtime加載類、分類的時(shí)候調(diào)用,系...