原创 Swift編譯加速

網上關於Swift編譯加速的文章挺多,這裏就不贅述。 這裏推薦全方位無死角講編譯優化的文檔Optimizing-Swift-Build-Times 還有優化的神器BuildTimeAnalyzer-for-Xcode 下面就針對於具體代碼層

原创 iOS事件傳遞與響應(一)——傳遞

在實際的開發中會經常遇到處理事件的操作,對於我們這樣的新手而言,會遇到的一是事件發生後在什麼時候去處理這個事件,二是在事件處理的時候會得不到響應等問題;鑑於此,明確關於事件是如何發生,如何傳遞以及最後是誰來做響應處理的是非常有必要的。以觸摸

原创 分析字節跳動解決OOM的在線Memory Graph技術實現

之前看到字節團隊分享的 “iOS性能優化實踐:頭條抖音如何實現OOM崩潰率下降50%+”這篇文章,對其實現比較感興趣,但是沒有開源,所以覺得自己花時間探索一下具體實現。 什麼是OOM,爲什麼會發生OOM以及其原因分析,大家去看原文就好了

原创 深入理解iOS中的事件傳遞及響應鏈

前言: 試想一下假如你是一臺手機📟,當有人觸摸了屏幕之後,你需要找到他具體觸摸了什麼東西,他可能觸摸是一個按鈕,或一個列表,也有可能是一個一不小心的誤觸,你會設計一個怎麼樣的機制和系統來處理呢?假如有兩個按鈕重疊了,或者遇到在滾動列表上需要

原创 iOS開發行業月薪想要突破3萬,需要經歷什麼?

前言: 本文分享內容如題。根據強哥的經驗,我們可以把職業生涯進行一個簡單的規劃,要實現月薪2萬的目標(在一線城市到也不難,二線城市相對低一些,我們就取箇中間值吧,2萬的目標就是指一線城市3萬左右月薪,二線城市1萬5左右月薪這麼個水平),大致

原创 iOS開發跳槽面試應該注意的Swift知識點

1. 給一個數組,要求寫一個函數,交換數組中的兩個元素 二X程序員: 好簡單啊,直接寫出以下結果 func swap(_ nums: inout [Int], _ p: Int, _ q: Int) { let temp = n

原创 flutter_matomo源碼解析

本文通過對flutter_matomo提供的對外API接口,瞭解能用它來實現哪些功能 相關資料 代碼倉庫 flutter_matomo matomo matomo--sdk-ios matomo-sdk-android mato

原创 iOS開發交流羣

iOS開發交流羣 413038000,歡迎加入。 純技術交流。 不定時共享開源庫、開源組件、等優質資源。 不定時推送iOS及移動開發領域的前沿技術。 不管你是大牛還是小白都歡迎入駐 , 分享BAT,阿里面試題、面試經驗,討論技術, 大家一起

原创 iOS AOP 方案的對比與思考

AOP 思想 AOP:Aspect Oriented Programming,譯爲面向切面編程,是可以通過預編譯的方式和運行期動態實現,在不修改源代碼的情況下,給程序動態統一添加功能的技術。 面向對象編程(OOP)適合定義從上到下的關係,但

原创 17 歲成爲 iOS 越獄之父,25 歲造出無人車,他是怎麼做到的?

前言: 5 歲寫出第一套電腦程序;14 歲憑藉自制的測繪機器人入圍英特爾國際科學與工程大獎賽決賽;高中時期發明一套初級的腦電波控制系統,再度入圍英特爾大賽;17歲破解第一代蘋果手機;27歲研發出汽車自動駕駛系統,秒殺谷歌與特斯拉…… 這樣開

原创 一文解析 Flutter的各大優點

背景與問題 中小公司維護一個App的成本好高呀,有沒有辦法可以降低成本的可能性,但是又不想讓代碼缺少維護? 有沒有方案可以實現一份代碼可以運行在多個平臺,減少溝通成本呢? 問題方案選擇 各公司都開始關注和使用跨端方案【包括大廠阿里巴巴以

原创 iOS 離屏渲染分析 爲什麼需要 什麼時候出現 總結

我們瞭解了iOS渲染架構,以及 GPU 的渲染流程。GPU 的渲染方式有兩種。 On-Screen Rendering:當前屏幕渲染,CPU、GPU 不停地將內容渲染完成放入frame buffer幀緩衝區中,顯示屏幕從 frame buf

原创 一文搞定Swift編譯慢的問題,還有全套開源,請看這裏!

一、概述 距離上一篇iOS二進制編譯方案(iOS如何提高10倍以上編譯速度)已經快過去半年了,期間收到了很多來着小夥伴們的支持。cocoapods-imy-bin這套系統也在我司(美柚)跑滿了上萬條的打包記錄,目前表現依然是很穩定。 鑑於目

原创 你與 “頂級iOS工程師” 距離有多遠?

前言: 所有工程師都渴望發展技術力,女性工程師更看重包容性,出色的工程師與頂級工程師的訴求各有千秋——在Triplebyte最新發布的報告中,通過對“職業發展機遇”、“指導”、“包容的工作環境”以及其他十餘項工作因素進行調研,其披露了當下軟

原创 #define定義的宏和const定義的常量有什麼區別?

define 定義的宏指令,程序是在預處理階段將#define定義的宏與內容進行替換,因此在程序運行時,內存的常量區是沒有#define定義的宏的,系統並不給他分配內存,而且在編譯的時候也不會檢查數據類型,出錯的可能性大。 const 定義