最近項(xiàng)目中遇到的一個(gè)大坑,先擺出解決方案:https://github.com/tbl00c/UICollectionView-EmptyFix 癥狀 UICollectio...
Swift 中,定義協(xié)議 protocol 時(shí),可以使用 extension 給它的某些方法提供默認(rèn)實(shí)現(xiàn): 有了上面的代碼,當(dāng)創(chuàng)建一個(gè)遵從 Printable 協(xié)議的類或者是...
0 前言 5月8日提交的代碼在服務(wù)端編譯出現(xiàn)了錯(cuò)誤,而本機(jī)編譯過(guò)程中沒(méi)有任何問(wèn)題。定位到錯(cuò)誤日志,發(fā)現(xiàn)是因?yàn)殄e(cuò)把函數(shù)參數(shù)類型BOOL寫(xiě)成bool(Xcode自動(dòng)補(bǔ)全的鍋#_#...
前言 說(shuō)起dispatch_once,最先想到的可能是單例,比如常用的AFNetworking中是這么寫(xiě)的: 但是為什么這樣寫(xiě)就可以確保dispatch_once中的bloc...
原文鏈接深入理解GCD之dispatch_semaphore 再研究完dispatch_queue之后,本來(lái)是打算進(jìn)入到dispath_group的源碼,但是dispath_...
概述 iOS開(kāi)發(fā)者在與線程打交道的方式中,使用最多的應(yīng)該就是GCD框架了,沒(méi)有之一。GCD將繁瑣的線程抽象為了一個(gè)個(gè)隊(duì)列,讓開(kāi)發(fā)者極易理解和使用。但其實(shí)隊(duì)列的底層,依然是利用...
2018年 iOS 技術(shù)發(fā)展有點(diǎn)跌宕起伏。在蘋果官方進(jìn)入慢車道的同時(shí),谷歌卻強(qiáng)勢(shì)推出了新的跨平臺(tái)移動(dòng)架構(gòu) Flutter;同一時(shí)間,與 Flutter 類似的跨平臺(tái)解決方案 ...