1、提交代碼時難免會有疏忽的時候,敲錯單詞,寫錯提交的描述,導(dǎo)致commit的信息錯誤或者不滿意。2、好在Git提供了改正錯誤的機會,我算個粗心人,所以這個方法會經(jīng)常用到?? ...
1、提交代碼時難免會有疏忽的時候,敲錯單詞,寫錯提交的描述,導(dǎo)致commit的信息錯誤或者不滿意。2、好在Git提供了改正錯誤的機會,我算個粗心人,所以這個方法會經(jīng)常用到?? ...
作為開發(fā)人員,經(jīng)常需要存取文件、歸解擋操作。模擬器沙盒路徑可以通過下面方式獲?。?由于當(dāng)前開發(fā)的是一個音視頻項目,必須用真機調(diào)試。真機的沙盒文件如何查看? 1.Xcode導(dǎo)航...
矩陣數(shù)據(jù)類型CV_ (S|U|F)C<number_of_channels>S = 符號整型 U = 無符號整型 F = 浮點型 1--bit_depth---比特數(shù)---代...
RunLoop RunLoop是iOS、OSX開發(fā)中非?;A(chǔ)的一個概念,這篇文章將會從源碼的角度分析RunLoop的概念已經(jīng)底層實現(xiàn)原理。在iOS中,蘋果如何利用RunLoo...
蘋果內(nèi)存管理方案主要為MRC和ARC TaggedPointer:小對象類型,NSDate、NSNumber等NonpointerIsa:非指針型isa散列表:引用計數(shù)表,弱...
冷啟動和熱啟動當(dāng)用戶按下home鍵時,iOS的APP不會立馬被kill掉,還會存活一段時間,在這個時間之內(nèi),用戶再進(jìn)入APP,APP幾乎不需要做什么,就可以還原到退出時的狀態(tài)...
LLVM概述 LLVM是架構(gòu)編譯器(compiler)的框架系統(tǒng),以C++編寫而成,用于優(yōu)化以任意程序語言編寫的程序的編譯時間(compile-time)、鏈接時間(link...
block在我們的代碼中經(jīng)常使用,通過block我們實現(xiàn)了高內(nèi)聚、低耦合,極大的方便了我們的編程,今天我們探究一下block的底層原理。 什么是block? block是將函...
看了這么多的源碼,相信大家對鎖已經(jīng)見得很多了。在iOS中有8大鎖,他們的性能如下: 下面我們將會分析鎖的底層原理,看看鎖的性能為什么有好有壞?在這之前,我們需要先了解一些名詞...
單例dispatch_once 搜索dispatch_once(dis 傳入兩個參數(shù),onceToken和block,調(diào)用dispatch_once_f傳入三個參數(shù),由blo...
用來探索的源碼為libdispatch-1173.60.1 創(chuàng)建隊列 從dispatch_queue_create開始1. dispatch_queue_create 搜索d...
簡介 GCD全稱Drand Central Dispatch 純c語言,提供了非常多強大的函數(shù) 什么是GCD? 將任務(wù)添加到隊列,并且指定執(zhí)行任務(wù)的函數(shù) GCD的優(yōu)勢: GC...
線程和進(jìn)程 進(jìn)程: 進(jìn)程是指系統(tǒng)中正在運行的一個應(yīng)用程序 每個進(jìn)程之間是獨立的,每個進(jìn)程均運行在其專用的且受保護(hù)的內(nèi)存空間內(nèi)。 通過活動監(jiān)視器可以查看Mac系統(tǒng)中所開啟的進(jìn)程...
在iOS開發(fā)中經(jīng)常會涉及到內(nèi)存,內(nèi)存主要分為五個區(qū):棧區(qū)、堆區(qū)、全局區(qū)、常量區(qū)、代碼區(qū) 棧區(qū)(stack) 棧是由編譯器來進(jìn)行分配和釋放的,用于存儲臨時變量、函數(shù)的參數(shù)、局部...
概述 KVO全程KeyValueObserving,是蘋果提供的一套鍵值觀察機制,它可以在對象指定屬性發(fā)生改變時接到通知。 基礎(chǔ)使用 KVO使用分為三個步驟:1.通過addO...
工作中經(jīng)常會使用到KVC,但是對KVC的原理并不是十分清楚,比如它在底層是如何進(jìn)行存取的,今天我們來探究一下。 KVC全稱是Key Value Coding,定義在NSKey...
相信大家對Method-Swizzling并不陌生,今天我們來聊一聊Method-Swizzling的一些坑點和優(yōu)化。 簡單使用 接著我們在類中調(diào)用lg_methodSwiz...
1.關(guān)聯(lián)對象需要釋放嗎?答:不需要,對象dealloc的時候已經(jīng)幫我們移除關(guān)聯(lián)對象了。 當(dāng)對象has_assoc關(guān)聯(lián)的時候,會走下面的object_dispose 走objc...
類別和類拓展 1.category:類別 分類 專門用來給類添加新的方法 不能給類添加成員變量,添加了也無法取到 分類中使用了@property給類添加屬性,只會生成sett...
category 1、category的本質(zhì) 今天我們先從category講起,那到底什么是category,我們借助clang看一下它在底層的結(jié)構(gòu)。代碼還是上一章的代碼,添...