項目代碼 runloopDemo CFCoreFoundation源碼 目錄 從主線程runloop啥時候開啟 runloop對象是怎么存儲的 ...
代碼地址 比如監(jiān)聽UIScrollView的所有代理方法 首先建立一個NSProxy的子類,子類持有一個數(shù)組清钥,這個數(shù)組用于方法UIScrollV...
iOS-自己實現(xiàn)個NSNotificationCenter 代碼地址 實現(xiàn)原理類似多播委托 1.指定objc的實現(xiàn)NSNotification蚯根,...
runtime各種數(shù)據(jù)結(jié)構(gòu) 對象 所以說后众,只要是oc對象就有isa指針,但是這句話也不完全對 并不是所有的oc對象都有isa指針颅拦,例如Tagge...
atomic和線程安全的理解 線程安全 如果多線程下蒂誉,一直操作i = i + 1,可能出現(xiàn)線程不安全 i = i + 1這個表達式涉及三步,取值...
GCD隊列理解 先拋總結(jié)點: 1.并行隊列要并行執(zhí)行距帅,其實也是通過開辟多個子線程實現(xiàn)的右锨;那么當并行隊列遇到?jīng)]法開辟多個子線程,那么他就沒法達到并...
C++筆記 一锥债、輸入輸出 scanf 輸入字符串陡蝇,%c,空格是不會被跳過的 用scanf輸入痊臭,出現(xiàn)非控制字符哮肚,則這些字符會被跳過 這時候輸入 ...
在KVC的實現(xiàn)中登夫,依賴setter和getter的方法實現(xiàn),所以方法命名應(yīng)該符合蘋果要求的規(guī)范允趟,否則會導(dǎo)致KVC失敗恼策。 setValue的過程 ...
使用GCD的group來控制網(wǎng)絡(luò)請求順序 同時發(fā)起多個網(wǎng)絡(luò)請求,等都完成后潮剪,再統(tǒng)一處理 dispatch_group_notify會等dispa...