已經(jīng)一兩個(gè)月沒(méi)有更新過(guò)博客了, 不過(guò)這兩個(gè)月并沒(méi)有閑下來(lái), 只是在完成以前欠下的的任務(wù). 幾個(gè)月前就開(kāi)始動(dòng)手寫一本iOS開(kāi)發(fā)方面的書籍, 希望這本書籍是實(shí)用性比較強(qiáng)的一本...
已經(jīng)一兩個(gè)月沒(méi)有更新過(guò)博客了, 不過(guò)這兩個(gè)月并沒(méi)有閑下來(lái), 只是在完成以前欠下的的任務(wù). 幾個(gè)月前就開(kāi)始動(dòng)手寫一本iOS開(kāi)發(fā)方面的書籍, 希望這本書籍是實(shí)用性比較強(qiáng)的一本...
一.卡頓優(yōu)化 1. CPU 和 GPU 在屏幕成像的過(guò)程中,CPU 和 GPU 起著至關(guān)重要的作用 CPU(Central Processing Unit,中央處理器)對(duì)象的...
一.定時(shí)器 1.CADisplayLink、NSTimer CADisplayLink且预、NSTimer 會(huì)對(duì) target 產(chǎn)生強(qiáng)引用,如果 target 又對(duì)它們產(chǎn)生強(qiáng)引用...
一瘪菌、基礎(chǔ)概念 有4個(gè)術(shù)語(yǔ)比較容易混淆:同步、異步嘹朗、并發(fā)师妙、串行 1.進(jìn)程和線程 進(jìn)程:進(jìn)程是計(jì)算機(jī)中已運(yùn)行程序的實(shí)體,是線程的容器屹培。每個(gè)進(jìn)程之間是相互獨(dú)立的默穴,每個(gè)進(jìn)程均運(yùn)行在專...
一. RunLoop簡(jiǎn)介 運(yùn)行循環(huán),在程序運(yùn)行過(guò)程中循環(huán)做一些事情褪秀,如果沒(méi)有Runloop程序執(zhí)行完畢就會(huì)立即退出蓄诽,如果有Runloop程序會(huì)一直運(yùn)行,并且時(shí)時(shí)刻刻在等待用戶...
runtime 介紹 Objective-C 是一門動(dòng)態(tài)性比較強(qiáng)的編程語(yǔ)言媒吗,跟 C仑氛、C++ 等語(yǔ)言有著很大的不同,Objective-C 的動(dòng)態(tài)性是由 Runtime API...
1.使用 runtime 為 Category 動(dòng)態(tài)關(guān)聯(lián)對(duì)象 在分類中可以用 @property 添加屬性闸英,但是不會(huì)自動(dòng)生成私有成員變量锯岖,也不會(huì)生成 set/get 方法的實(shí)...
一、Category 本質(zhì) 我們知道甫何,當(dāng)調(diào)用一個(gè)對(duì)象的方法時(shí)出吹,通過(guò)對(duì)象的 isa 指針找到類對(duì)象,然后在類對(duì)象的方法列表中查找方法辙喂,如果沒(méi)有找到捶牢,就通過(guò)類對(duì)象的 superc...
KVC 使用 KVC的全稱是Key-Value Coding赃额,俗稱“鍵值編碼”,可以通過(guò)一個(gè)key來(lái)訪問(wèn)某個(gè)屬性 常見(jiàn)的API有 (void)setValue:(id)val...
一叫确、KVO 的使用 KVO 的全稱 Key-Value Observing跳芳,俗稱“鍵值監(jiān)聽(tīng)”,可以用于監(jiān)聽(tīng)某個(gè)對(duì)象屬性值的改變竹勉。 上述代碼中可以看出飞盆,在添加監(jiān)聽(tīng)之后,age屬...
不管是類對(duì)象還是元類對(duì)象次乓,類型都是 Class吓歇,class 和 mete-class 的底層都是 objc_class 結(jié)構(gòu)體的指針。 1.OBJC1 objc_class ...
一票腰、OC 對(duì)象的種類 1.OC 對(duì)象的種類 OC 對(duì)象有三個(gè)大的種類: instance 對(duì)象(實(shí)例對(duì)象) class 對(duì)象(類對(duì)象) meta-class 對(duì)象(元類對(duì)象)...
一城看、OC 對(duì)象的本質(zhì) 探尋OC對(duì)象的本質(zhì),我們平時(shí)編寫的Objective-C代碼杏慰,底層實(shí)現(xiàn)其實(shí)都是C\C++代碼测柠。OC的對(duì)象都是通過(guò)基礎(chǔ)C\C++的結(jié)構(gòu)體實(shí)現(xiàn)的。 1. O...
介紹GraphQL 查詢時(shí)結(jié)構(gòu)化的,信息是類樹(shù)結(jié)構(gòu)展示的朝扼。值類型可以理解為葉子赃阀,對(duì)象類型可以理解為樹(shù)干GraphQL 是一種描述如何請(qǐng)求數(shù)據(jù)的語(yǔ)法,通常用于客戶端向服務(wù)器請(qǐng)求...
覺(jué)得好就打賞擎颖,別整沒(méi)用的
Objective-C 編程規(guī)范命名規(guī)范 1.【強(qiáng)制】 代碼中的命名均不能以下劃線或美元符號(hào)開(kāi)始榛斯,也不能以下劃線或美元符號(hào)結(jié)束。 反例: _name / __name / $Object / name_ /...
命名規(guī)范 1.【強(qiáng)制】 代碼中的命名均不能以下劃線或美元符號(hào)開(kāi)始搂捧,也不能以下劃線或美元符號(hào)結(jié)束驮俗。 反例: _name / __name / $Object / name_ /...
命名規(guī)范 1.【強(qiáng)制】 代碼中的命名均不能以下劃線或美元符號(hào)開(kāi)始,也不能以下劃線或美元符號(hào)結(jié)束异旧。 反例: _name / __name / $Object / name_ /...
1.使類和成員的可訪問(wèn)性最小化 訪問(wèn)修飾符: private protected public 頂層的(非嵌套)類和接口意述,兩種訪問(wèn)級(jí)別: 包級(jí)私有(package-priva...
1.同步訪問(wèn)共享的可變數(shù)據(jù) 同步:同步不僅可以阻止一個(gè)線程看到對(duì)象處于不一致的狀態(tài)之中提佣,還可以保證進(jìn)入同步方法或者同步代碼塊的每個(gè)線程吮蛹,都看到一個(gè)鎖保護(hù)的之前所有的修改效果。...