開(kāi)發(fā)中經(jīng)常遇到異步任務(wù)之間有依賴(lài)關(guān)系,需要對(duì)執(zhí)行順序進(jìn)行調(diào)度的情況。 比如,一個(gè)頁(yè)面要組合多個(gè)后端接口的數(shù)據(jù),必須所有請(qǐng)求都完成后,再進(jìn)行數(shù)據(jù)組裝,最后刷新UI。 如果是同步...
前言: 按照時(shí)間順序,事件的生命周期是這樣的:事件的產(chǎn)生和傳遞(事件如何從父控件傳遞到子控件并尋找到最合適的view、尋找最合適的view的底層實(shí)現(xiàn)、攔截事件的處理)->找到...
介紹 動(dòng)態(tài)庫(kù)形式:.dylib和.framework 靜態(tài)庫(kù)形式:.a和.framework 動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)的區(qū)別 靜態(tài)庫(kù):鏈接時(shí),靜態(tài)庫(kù)會(huì)被完整地復(fù)制到可執(zhí)行文件中,被多次...
背景: 在進(jìn)行App測(cè)試或定位線(xiàn)上問(wèn)題時(shí),經(jīng)常會(huì)遇到抓取HTTPS數(shù)據(jù)包的需求。一般在windows上會(huì)使用fiddler,Mac上使用Charles。對(duì)于https請(qǐng)求,抓...
引言 當(dāng)我們想要比較Swift中自定義類(lèi)值是否相等的時(shí)候,我們就需要實(shí)現(xiàn)Equatable協(xié)議 協(xié)議就只有下面這一個(gè)方法 static func == (lhs: Self,...
我們?cè)陂_(kāi)發(fā)過(guò)程中,很多時(shí)候可能都需要Mock一個(gè)后臺(tái),原因可能是下面兩種: 后臺(tái)沒(méi)開(kāi)發(fā)完,只有文檔,前端開(kāi)發(fā)又需要數(shù)據(jù)來(lái)方便開(kāi)發(fā) 測(cè)試需要,我們單元測(cè)試需要各種情況,很多情況...
為什么自己建圖床 這主要是因?yàn)槲覀€(gè)人博客的流量實(shí)在是不高,再加上國(guó)外的免費(fèi)圖床可能說(shuō)被ban就被ban,國(guó)內(nèi)圖床又各種不穩(wěn)定,這就導(dǎo)致我看到很多人的文章中的圖片經(jīng)常處于無(wú)法打...
前言 對(duì)于iOS開(kāi)發(fā)來(lái)說(shuō),寫(xiě)一個(gè)自定義view,或者恰當(dāng)?shù)厥褂胻ableview基本上可以算的上是“行活”。但是看過(guò)一些同學(xué)寫(xiě)的自定義控件后,有時(shí)感覺(jué)似乎寫(xiě)的不夠好,雖然可以...
原因:從iOS 9 開(kāi)始,涉及到平臺(tái)客戶(hù)端的跳轉(zhuǎn),系統(tǒng)會(huì)自動(dòng)到 info.plist 下檢查是否設(shè)置Scheme。如果沒(méi)有做相應(yīng)的配置,就無(wú)法跳轉(zhuǎn)到相應(yīng)的客戶(hù)端。因此如果客戶(hù)...
編寫(xiě) SDK 的時(shí)候, 經(jīng)常會(huì)用到一些常用組件, 比如 AFNetworking.如果直接將AFNetworking編譯進(jìn) SDK ,那么如果用戶(hù)在使用你寫(xiě)的 SDK 的同時(shí)...
一、iOS7以后不能獲取手機(jī)IMEI iOS 2.0版本以后UIDevice提供一個(gè)獲取設(shè)備唯一標(biāo)識(shí)符的方法uniqueIdentifier,通過(guò)該方法我們可以獲取設(shè)備的序列...
iOS 11中,如果你是iPhone 7及以上設(shè)備,系統(tǒng)用了新的格式來(lái)存儲(chǔ)視頻和圖片, 如果你的App支持上傳圖片原文件,那么很可能會(huì)有圖片無(wú)法顯示的問(wèn)題。讀取圖片原文件的代...