這次不以規(guī)律解釋行為, 而從源碼窺視規(guī)律. 在Swift中的動與靜一文中, 我詳細(xì)的介紹了 Swift 中不同場景下方法的派發(fā)方式. 自認(rèn)為在這方面的掌握已經(jīng)爐火純青, Sw...
這次不以規(guī)律解釋行為, 而從源碼窺視規(guī)律. 在Swift中的動與靜一文中, 我詳細(xì)的介紹了 Swift 中不同場景下方法的派發(fā)方式. 自認(rèn)為在這方面的掌握已經(jīng)爐火純青, Sw...
1、虛擬內(nèi)存 & ASLR 在早期計算機(jī)中數(shù)據(jù)是直接通過物理地址訪問的,這就造成了下面兩個問題 1、內(nèi)存不夠用 2、數(shù)據(jù)安全問題 內(nèi)存不夠 --- > 虛擬內(nèi)存 虛擬內(nèi)存就是...
背景知識: mach-o文件為基于Mach核心的操作系統(tǒng)的可執(zhí)行文件、目標(biāo)代碼或動態(tài)庫,是.out的代替,其提供了更強(qiáng)的擴(kuò)展性并提升了符號表中信息的訪問速度, 符號表,用于標(biāo)...
知 識 點(diǎn) / 超 人 更新2019-03-27:添加了+load與+initialize方法的補(bǔ)充說明 前言當(dāng)自己對技術(shù)對APP的性能達(dá)到一定的追求時,就需要對APP有較深...
iOS 系統(tǒng)架構(gòu) Mac系統(tǒng)是基于Unix內(nèi)核的圖形化操作系統(tǒng),Mac OS 和 iOS 系統(tǒng)架構(gòu)的對比分析發(fā)現(xiàn),Mac OS和iOS的系統(tǒng)架構(gòu)層次只有最上面一層不同,Mac...
iOS Zombie Objects 原理探索 Zombie Object 有什么用 僵尸對象一種用來檢測內(nèi)存錯誤(EXC_BAD_ACCESS)的對象,它可以捕獲任何對嘗試...
Objective-C編程語言是C語言的超集,在C語言的基礎(chǔ)上加入了面向?qū)ο蟮膬?nèi)容。OC可以和C/C++混合使用,OC對象都可以轉(zhuǎn)化為C/C++結(jié)構(gòu)體表示。 要想知道一個NS...
堆和棧都是一種數(shù)據(jù)項(xiàng)按序排列的數(shù)據(jù)結(jié)構(gòu),只能在一端(稱為棧頂(top))對數(shù)據(jù)項(xiàng)進(jìn)行插入和刪除。堆,隊(duì)列優(yōu)先,先進(jìn)先出(FIFO—first in first out);棧,...
最近很多同學(xué)問我,swift語言中,??是怎么回事。因?yàn)樵谖⑿沤涣髦?,問題不能被清晰表述,所以我很奇怪對于這么簡單的一個運(yùn)算符,會有這么多同學(xué)有疑問。后來隨著對問題理解的深入...
這幾天公司上線一個項(xiàng)目,改bug過程中,就遇到一個數(shù)組拷貝問題,廢了半天勁兒才解決掉,特此詳細(xì)研究了一下。其場景大概如下: A數(shù)組中存放著好多個自定義模型Person,Per...
RxSwift 核心原理解析 角色定位 觀察者(Observer) 被觀察者(Observable) 訂閱者(Subscriber) 事件的最終處理者 管道(Sink) O...
今天梳理一下RxSwift核心邏輯想要理解RxSwift核心邏輯首先要熟悉swift語言的基本用法RxSwift使用函數(shù)式編程思想,一些基本使用我這里就不贅述了,大家可以看一...
前言 APP的啟動優(yōu)化,對開發(fā)者來說是一個永無止境的過程。開發(fā)者們在追求更快的路上,實(shí)現(xiàn)了一次又一次的突破(這里也包括Apple團(tuán)隊(duì)對操作系統(tǒng)的優(yōu)化);而且啟動優(yōu)化也是面試經(jīng)...
本文介紹App啟動性能優(yōu)化,共分五個部分: 第一部分App啟動過程 第二部分pre-main階段的過程和可優(yōu)化項(xiàng) 第三部分main()階段可優(yōu)化項(xiàng) 第四部分啟動耗時的測量 第...
Runloop 是和線程緊密相關(guān)的一個基礎(chǔ)組件,是很多線程有關(guān)功能的幕后功臣。盡管在平常使用中幾乎不太會直接用到,理解 Runloop 有利于我們更加深入地理解 iOS 的多...
作為 GSY 開源系列的作者,在去年也整理過 《移動端跨平臺開發(fā)的深度解析》 的對比文章,時隔一年之后,本篇將重新由 環(huán)境搭建、實(shí)現(xiàn)原理、編程開發(fā)、插件開發(fā)、編譯運(yùn)行、性能穩(wěn)...
一、WebDriverAgent的介紹 WebDriverAgent是由Facebook開發(fā)的一套開源框架,用于端對端的UI測試,能同時支持模擬器和真機(jī)。github地址 截...
前言: 按照時間順序,事件的生命周期是這樣的:事件的產(chǎn)生和傳遞(事件如何從父控件傳遞到子控件并尋找到最合適的view、尋找最合適的view的底層實(shí)現(xiàn)、攔截事件的處理)->找到...
更多:iOS面試題大全 SDWebImage 一個為UIImageView提供一個分類來支持遠(yuǎn)程服務(wù)器圖片加載的庫。 功能簡介: 工作流程 源碼分析 主要用到的對象 一、圖片...