前言 通常程序運(yùn)行時(shí)常見的錯(cuò)誤大致分為兩類 用戶使用引起的外部錯(cuò)誤,例如缺少參數(shù)、參數(shù)錯(cuò)誤等 程序運(yùn)行時(shí)產(chǎn)生的內(nèi)部錯(cuò)誤,例如內(nèi)存溢出、空指針、以0做除數(shù)等 針對第一種外部錯(cuò)誤...
前言 通常程序運(yùn)行時(shí)常見的錯(cuò)誤大致分為兩類 用戶使用引起的外部錯(cuò)誤,例如缺少參數(shù)、參數(shù)錯(cuò)誤等 程序運(yùn)行時(shí)產(chǎn)生的內(nèi)部錯(cuò)誤,例如內(nèi)存溢出、空指針、以0做除數(shù)等 針對第一種外部錯(cuò)誤...
誰知我知你,我知你之深。 前言 說出來不怕你們笑話,UIStackView這玩意兒iOS 9.0就出來了,到現(xiàn)在我還沒有用過它,稍微看了一下,其核心屬性也就四個(gè):axis、d...
應(yīng)該要去掉這一句吧...
iOS-底層原理 24:內(nèi)存五大區(qū)iOS 底層原理 文章匯總[http://www.itdecent.cn/p/412b20d9a0f6] 在iOS中,內(nèi)存主要分為棧區(qū)、堆區(qū)、全局區(qū)、常量區(qū)、代碼區(qū)五大區(qū)域...
堆是不連續(xù)的內(nèi)存區(qū)域,類似于鏈表結(jié)構(gòu)(便于增刪,不便于查詢),遵循先進(jìn)先出(FIFO)原則
鏈表 遵循先進(jìn)先出(FIFO)原則?
iOS-底層原理 24:內(nèi)存五大區(qū)iOS 底層原理 文章匯總[http://www.itdecent.cn/p/412b20d9a0f6] 在iOS中,內(nèi)存主要分為棧區(qū)、堆區(qū)、全局區(qū)、常量區(qū)、代碼區(qū)五大區(qū)域...
LLDB全稱Low Level Debugger ,并不是低水平的調(diào)試器,而是輕量級(jí)的高性能調(diào)試器,默認(rèn)內(nèi)置于Xcode中。能夠很好的運(yùn)用它會(huì)使我們的開發(fā)效率事半功倍,接下來...
最近又看了遍蘋果的官方文檔《Event Handling Guide for iOS》,對事件響應(yīng)鏈中的hit-test view 又多了些理解,個(gè)人覺的官方文檔對這塊講的非...
注:歡迎大家可以關(guān)-注 Wei-Xin 公--眾--號(hào) :Style月月專欄,與簡書同步更新~ iOS 底層原理 objc4 源碼相關(guān) 0、底層源碼探索方式iOS-底層原理 ...
iOS-底層原理01-對象底層原理[http://www.itdecent.cn/p/5b16f26295c4]iOS-底層原理02-isa和類的結(jié)構(gòu)分析[https://...
為什么需要用Lifecycle? 在使用高德地圖的SDK時(shí),我們一般都會(huì)這樣做: 因?yàn)榻M件必須感知Activity的生命周期,所以一般會(huì)直接將代碼寫到Activity的生命周...
LiveData是什么? 在官網(wǎng)以及網(wǎng)上有很多文章都會(huì)介紹LiveData是什么、能夠滿足什么場景以及優(yōu)勢。假若用一句話概括,它就是與EventBus有著類似功能的一個(gè)庫--...
為什么要使用ViewModel? 在日常開發(fā)中,橫豎屏切換是非常常見的功能,由于橫豎屏切換會(huì)使得Activity重建,導(dǎo)致界面相關(guān)數(shù)據(jù)都會(huì)丟失。為了避免這種情況,一般會(huì)有兩種...
前言 Navigation庫并不像Lifecycle、LiveData、ViewModel能夠優(yōu)雅地解決我們在開發(fā)中常遇到的問題。它只是對我們以前在Activity和Frag...
根據(jù)注釋可以看到只有非懶加載類會(huì)進(jìn)入這個(gè)邏輯,nlclslist就是獲取非懶加載類列表。通過macho的__objc_nlclslist獲取。實(shí)現(xiàn)了+load方法的類會(huì)出現(xiàn)在__objc_nlclslist中。
作者:HotPotCat
鏈接:http://www.itdecent.cn/p/a1b6e75d6ff8
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
這個(gè)MachO里面我怎么沒看到, 雖然代碼表面意思可能是這樣的
Objective-C 類的加載原理(上)上篇文章中分析了dyld整個(gè)流程以及dyld與objc的交互。這篇文章將繼續(xù)分析dyld調(diào)用map_images究竟進(jìn)行了什么操作。 一、_objc_init分析 envir...
iOS 底層原理 文章匯總[http://www.itdecent.cn/p/412b20d9a0f6] 在探討內(nèi)存對齊原理之前,首先介紹下iOS中獲取內(nèi)存大小的三種方式 ...
iOS 底層原理 文章匯總[http://www.itdecent.cn/p/412b20d9a0f6] 本文的主要目的是理解objc_msgSend的方法查找流程 在上一...
塊的大小為內(nèi)存存取力度 -> 粒度
iOS-底層原理 02:alloc & init & new 源碼分析iOS 底層原理 文章匯總 在分析alloc源碼之前,先來看看一下3個(gè)變量 內(nèi)存地址 和 指針地址 區(qū)別: 分別輸出3個(gè)對象的內(nèi)容、內(nèi)存地址、指針地址,下圖是打印結(jié)果 結(jié)論:...
這個(gè)指令是gcc引入的,作用是允許程序員將最有可能執(zhí)行的分支告訴編譯器。這個(gè)指令的寫法為:__builtin_expect(EXP, N)。意思是:EXP==N的概率很大。 ...