1缩抡、提交代碼時難免會有疏忽的時候翩伪,敲錯單詞,寫錯提交的描述缭受,導(dǎo)致commit的信息錯誤或者不滿意须眷。2耸黑、好在Git提供了改正錯誤的機(jī)會枝秤,我算個粗心人,所以這個方法會經(jīng)常用到?? ...
1缩抡、提交代碼時難免會有疏忽的時候翩伪,敲錯單詞,寫錯提交的描述缭受,導(dǎo)致commit的信息錯誤或者不滿意须眷。2耸黑、好在Git提供了改正錯誤的機(jī)會枝秤,我算個粗心人,所以這個方法會經(jīng)常用到?? ...
作為開發(fā)人員卿嘲,經(jīng)常需要存取文件颂斜、歸解擋操作。模擬器沙盒路徑可以通過下面方式獲仁霸妗: 由于當(dāng)前開發(fā)的是一個音視頻項(xiàng)目沃疮,必須用真機(jī)調(diào)試。真機(jī)的沙盒文件如何查看? 1.Xcode導(dǎo)航...
矩陣數(shù)據(jù)類型CV_ (S|U|F)C<number_of_channels>S = 符號整型 U = 無符號整型 F = 浮點(diǎn)型 1--bit_depth---比特數(shù)---代...
RunLoop RunLoop是iOS糯彬、OSX開發(fā)中非常基礎(chǔ)的一個概念葱她,這篇文章將會從源碼的角度分析RunLoop的概念已經(jīng)底層實(shí)現(xiàn)原理。在iOS中似扔,蘋果如何利用RunLoo...
蘋果內(nèi)存管理方案主要為MRC和ARC TaggedPointer:小對象類型吨些,NSDate、NSNumber等NonpointerIsa:非指針型isa散列表:引用計(jì)數(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我們實(shí)現(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)建隊(duì)列 從dispatch_queue_create開始1. dispatch_queue_create 搜索d...
簡介 GCD全稱Drand Central Dispatch 純c語言鹏氧,提供了非常多強(qiáng)大的函數(shù) 什么是GCD? 將任務(wù)添加到隊(duì)列佩谣,并且指定執(zhí)行任務(wù)的函數(shù) GCD的優(yōu)勢: GC...
線程和進(jìn)程 進(jìn)程: 進(jìn)程是指系統(tǒng)中正在運(yùn)行的一個應(yīng)用程序 每個進(jìn)程之間是獨(dú)立的把还,每個進(jìn)程均運(yù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居砖,是蘋果提供的一套鍵值觀察機(jī)制,它可以在對象指定屬性發(fā)生改變時接到通知驴娃。 基礎(chǔ)使用 KVO使用分為三個步驟:1.通過addO...
工作中經(jīng)常會使用到KVC奏候,但是對KVC的原理并不是十分清楚,比如它在底層是如何進(jìn)行存取的唇敞,今天我們來探究一下蔗草。 KVC全稱是Key Value Coding,定義在NSKey...
相信大家對Method-Swizzling并不陌生疆柔,今天我們來聊一聊Method-Swizzling的一些坑點(diǎn)和優(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)。代碼還是上一章的代碼宋列,添...