在初始化時(shí),調(diào)用init 和-(instancetype)initWithFrame:(CGRect)frame 當(dāng)frame為CGRectZe...
Block的底層原理 一、Block概述 1.什么是block Block是將函數(shù)及其執(zhí)行上下文封裝起來的對(duì)象。 2.閉包 閉包 = 一個(gè)函數(shù)(...
六大設(shè)計(jì)原則 單一職責(zé)原則、開閉原則、依賴倒置原則、里氏替換原則、接口隔離原則、迪米特法則 單一職責(zé)原則 一個(gè)類只負(fù)責(zé)一件事 開閉原則 對(duì)修改關(guān)...
分類(Category) 分類是OC中的特有語法,它是表示一個(gè)指向分類的結(jié)構(gòu)體的指針。原則上它只能增加方法,不能增加成員(實(shí)例)變量。其源碼組成...
RunLoop是通過內(nèi)部維護(hù)的事件循環(huán)來對(duì)事件和消息進(jìn)行管理的對(duì)象 沒有消息需要處理時(shí),Runloop將線程控制器交給系統(tǒng),即從用戶態(tài)->內(nèi)核態(tài)...
首先咱們來看下蘋果的開發(fā)者文檔。 NSKeyValueObserving An informal protocol that objects a...
利用CAShapeLayer和貝塞爾曲線來畫一個(gè)圓環(huán)進(jìn)度條,其實(shí)很簡(jiǎn)單,在此只做記錄使用。 效果如下所示: 直接上代碼.h頭文件 .m實(shí)現(xiàn)文件 ...
一、什么是KVC? KVC的全稱是Key-Value Coding,翻譯成中文是 鍵值編碼,鍵值編碼是由NSKeyValueCoding非正式協(xié)...
當(dāng)面對(duì)多個(gè)初始化方法時(shí),外部調(diào)用者往往會(huì)手足無措,不知道哪一個(gè)才是正確的初始化方法,對(duì)此,蘋果提供了兩個(gè)關(guān)鍵字:NS_UNAVAILABLE 與...