iOS 底層原理 文章匯總[http://www.reibang.com/p/412b20d9a0f6] 在上一篇iOS-底層原理 16:dyld與objc的關(guān)聯(lián)[http...
一花竞、 概述 LLVM是架構(gòu)編譯器的框架系統(tǒng)癣亚,由C++編寫而成喊衫。由于優(yōu)化以任意程序語言編寫的程序的編譯時間(complie-time)铛只、鏈接時間(link-time)世剖、運行時間...
一定罢、引言 前邊一篇文章我們已經(jīng)大致介紹了GCD的有些概念和函數(shù)的執(zhí)行。接下來讓我們繼續(xù)帶著探索的心里去學(xué)習(xí)旁瘫,繼續(xù)前行祖凫,繼續(xù)介紹線程是如何開辟和創(chuàng)建的,又是什么時候去執(zhí)行相關(guān)的...
一酬凳、前言 在iOS開發(fā)過程中惠况,我們知道多線程技術(shù)是使用最多的情況,能快速的執(zhí)行多個調(diào)度任務(wù)的執(zhí)行宁仔。而在多線程開發(fā)過程當(dāng)中稠屠,多線程技術(shù)有好幾種,其中包括pthread,NSTh...
一权埠,RAM和ROM的介紹 RAM與ROM就是具體的存儲空間榨了,統(tǒng)稱為存儲器。 RAM(random access memory):運行內(nèi)存攘蔽,CPU可以直接訪問龙屉,讀寫速度非常快满俗,...
1转捕、Runtime面試中問題整理 2、Runloop面試中問題整理 3唆垃、KVO面試中問題整理 4五芝、Block面試中問題整理 5、多線程面試問題整理 6辕万、設(shè)計模式問題整理 7枢步、...
一,KVO (Key-Value Observing) KVO是Objective-C對觀察者設(shè)計模式的一種實現(xiàn)蓄坏,它提供一種機制价捧,指定一個被觀察對象(如A類),當(dāng)對象中的某個...
一涡戳,概念 KVC(Key-value coding)鍵值編碼结蟋,單看這個名字可能不太好理解。其實翻譯一下就很簡單了渔彰,就是指iOS的開發(fā)中嵌屎,可以允許開發(fā)者通過Key名直接訪問對象...
一 扎阶,引言 前邊我們已經(jīng)學(xué)習(xí)了iOS開發(fā)過程中的相關(guān)程序啟動的重要角色dyld,通過dyld幫助我們做了很多準(zhǔn)備的工作汹胃,加載相關(guān)的類,初始化相關(guān)environ_init 環(huán)境...
一谤逼、前言 一個類對象查找方法,我們都知道是先從緩存列表中去查找仇穗,然后在去方法列表里查找流部,這樣就能快速的查找到相關(guān)的imp,但是當(dāng)我們沒有查找到相應(yīng)的imp時,系統(tǒng)又會做一些什...
一纹坐、前言枝冀, 在iOS消息機制過程中存在兩種查找imp 的方式,另外一種就是慢速查找耘子,我們都知道快速就是走匯編流程果漾,因為匯編本身就計算機能識別的語言。所以并且上一篇文章已經(jīng)著重...
一谷誓,前言 在iOS開發(fā)過程中绒障,我們都知道不管是什么方法的執(zhí)行,對象的創(chuàng)建捍歪,以及代理 和Block的實現(xiàn)都離不開runtime,所以runtime可以說是iOS開發(fā)過程中的生命...
前言: 在最近學(xué)習(xí)過程中我們知道一個類的結(jié)構(gòu)的定義户辱,以及一個對象的alloc的執(zhí)行流程。初探底層的源碼糙臼。經(jīng)過最新開源的objc781我們知道庐镐,類的結(jié)構(gòu)中重要的成員有 Clas...
一,序言 我們都知道揽乱,iOS開發(fā)中很多信息都存在于一個類的信息中名眉,其中通過isa指針能查詢各種層級的內(nèi)容以及方法、協(xié)議锤窑,以及屬性等信息的查詢璧针,接下來我們通過項目的調(diào)試進行查看...
一, class_getClassMethod 與 class_getInstanceMethod 的分析, 首先我們先在項目中定義一個類LGPerson 此類繼承自NSOb...