前言 做了好多年的iOS開發(fā),雖然問題遇到不少,也解決過不少,但是都沒有記錄下來,因為自己懶,有時候也因為自己工作忙忘記了,沒有寫過也沒有維護(hù)過iOS相關(guān)的技術(shù)文章,沒想著這...
前言 做了好多年的iOS開發(fā),雖然問題遇到不少,也解決過不少,但是都沒有記錄下來,因為自己懶,有時候也因為自己工作忙忘記了,沒有寫過也沒有維護(hù)過iOS相關(guān)的技術(shù)文章,沒想著這...
寫在開頭:本文所介紹的方法使用的是iOS8-10中的API,不過同樣支持在iOS11上運行。<最近更新時間:2017-09-11> 目錄: 效果展示 系統(tǒng)默認(rèn)左滑菜單實現(xiàn) 自...
在Xcode9上正常編譯的項目,在Xcode10上編譯可能會遇到如下錯誤: 這是因為Xcode10徹底廢棄了libstdc++,相關(guān)的庫文件libstdc++.6.0.9.d...
2018-11-13更新:已更新工程配置和修改部分代碼,Xcode9能直接運行此項目了。但由于項目中使用的豆瓣API已經(jīng)停止支持,所以項目已不能正常演示,是否會繼續(xù)更新就看緣...
前言 最近在項目中, 做有關(guān) AVAudioRecorder 的錄音開發(fā), 需要把錄制的格式轉(zhuǎn)成 MP3, 遇到了轉(zhuǎn)碼之后的MP3文件, 無法獲取正確的時長問題. 為了解決這...
應(yīng)用場景 在即時通訊APP中,例如微信,QQ,等都有語音發(fā)送功能,一般都要先將錄音錄制下來才能發(fā)送錄音。 音頻相關(guān)知識介紹: 1. 文件格式(不同的文件格式,可保存不同的編碼...
HTTP 超文本傳輸協(xié)議 請求報文WX20181228-104135@2x.png 我們來看一下請求報文的格式,首先是請求行,請求行包括方法、URL、協(xié)議文本,方法常見的有G...
RunLoop的本質(zhì) RunLoop是通過內(nèi)部維護(hù)的事件循環(huán)來對事件/消息進(jìn)行管理的一個對象 沒有消息需要處理時,休眠以避免資源占用,狀態(tài)切換是從用戶態(tài)通過系統(tǒng)調(diào)用切換到內(nèi)核...
什么是Block Block是將函數(shù)及其執(zhí)行上下文封裝起來的對象 接下來讓我們通過源碼來看一看Block的本質(zhì) 我們在一個方法中寫了三行代碼,第一行是定義了一個局部變量,第二...
在開始之前,我們先來了解下OC中的類與對象 這是一張經(jīng)典的類的關(guān)系示意圖,接下來簡單的介紹一下這張圖 首先當(dāng)我們創(chuàng)建一個實力對象,會拷貝這個實力對象所屬類的成員變量,但是不會...
objc_object 國際慣例,流程圖 首先平時我們所使用的對象都是id類型的,id對應(yīng)到runtime中就是objc_object這樣的一個結(jié)構(gòu)體,在這個結(jié)構(gòu)體當(dāng)中主要包...
在開始理解卡頓、掉幀及繪制原理前,首先讓我們先了解下圖像的顯示原理 圖像顯示原理 關(guān)于CPU和GPU都是通過總線連接起來的,在CPU當(dāng)中輸出的往往是一個位圖,再經(jīng)由總線在合適...
事件傳遞 事件傳遞的兩個核心方法 第一個方法返回的是一個UIView,是用來尋找最終哪一個視圖來響應(yīng)這個事件第二個方法是用來判斷某一個點擊的位置是否在視圖范圍內(nèi),如果在就返回...
前言 關(guān)于UIWebView的介紹,相信看過上文的小伙伴們,已經(jīng)大概清楚了吧,如果有問題,歡迎提問。 本文是本系列文章的第二篇,主要為小伙伴們分享下WKWebView相關(guān)的內(nèi)...
參考文獻(xiàn):WebP 極限壓縮及ios實現(xiàn)iOS使用cocoapods 安裝libwebp 0.6.0遇到Error installing libwebp解決方法 1. SDW...
來自我的個人博客Minecode.link 多繼承可以允許子類從多個父類派生,而Objective-C并不支持多繼承,但我們?nèi)钥砷g接實現(xiàn)。 Objective-C實現(xiàn)多繼承主...