前言 本文分析源碼為libdispatch-1173.40.5,主要分析常用的dispatch API具體的實(shí)現(xiàn)原理沫浆;先講解下常用的數(shù)據(jù)結(jié)構(gòu)體便于后續(xù)分析使用:dispatc...
頂點(diǎn)顏色值是怎么表示的舰讹,rgb忱详?1.f,0.f表示是什么
OpenGL ES GLKit三角形變換效果圖如下: 首先跺涤,使用GLKit繪制圖形分為以下兩個(gè)步驟 初始化上下文 使用GLKBaseEffect渲染圖形 初始化上下文 新建OpenGL ES上下文匈睁,EAGLCont...
fromValue和byValue是非零航唆。 插值(也就是動(dòng)畫執(zhí)行)從fromValue到toValue,親測(cè)
iOS動(dòng)畫之CABasicAnimation我們首先來看看Core Animation類的繼承關(guān)系圖 示例 從蘋果官方API我們可以了解到CABasicAnimation(基礎(chǔ)動(dòng)畫)算是CAKeyframeAnimat...
想知道院刁。yymodel為啥性能高糯钙,處理這塊的代碼在哪里
YYModel 源碼剖析:關(guān)注性能系列文章:YYText 源碼剖析:CoreText 與異步繪制YYAsyncLayer 源碼剖析:異步繪制YYCache 源碼剖析:一覽亮點(diǎn)YYModel 源碼剖析:關(guān)注性能...
項(xiàng)目代碼 runloopDemo CFCoreFoundation源碼 目錄 從主線程runloop啥時(shí)候開啟 runloop對(duì)象是怎么存儲(chǔ)的 runloop怎么跑起來的,又...
當(dāng)調(diào)用 performSelector:onThread: 時(shí)狡刘,實(shí)際上其會(huì)創(chuàng)建一個(gè) Timer 加到對(duì)應(yīng)的線程去
怎么證明這句話呢
RunLoop與PerformSelectorPerformSelecter 當(dāng)調(diào)用 NSObject 的 performSelecter:afterDelay: 后享潜,實(shí)際上其內(nèi)部會(huì)創(chuàng)建一個(gè) Timer 并添加到當(dāng)前線程...
[CATransaction begin];
[CATransaction setCompletionBlock:^{
}];
這兩句的作用是什么
淺談TableView的begin Updates和end Updates實(shí)現(xiàn)效果如下 通過tableView的reloadData方法我們可以方便的對(duì)tableVie的cell根據(jù)數(shù)據(jù)源進(jìn)行刷新。但是這種刷新方法在某些時(shí)候也不是那么合適嗅蔬。比如只需...
那這時(shí)候等待是自旋還是休眠
iOS 信號(hào)量機(jī)制信號(hào)量機(jī)制 在 iOS 系統(tǒng)及大部分現(xiàn)代操作系統(tǒng)中剑按,多個(gè)線程可以并發(fā)執(zhí)行,CPU在線程之間來回切換澜术,共享某些資源艺蝴,提高了資源的利用率。但是我們?cè)撊绾翁幚砀鱾€(gè)線程之間的相互制約...
最近在面試的過程中才發(fā)現(xiàn)太多沒有注意的細(xì)節(jié)畦贸,每一個(gè)問題問到最后都是在懷疑人生中度過... 正好趁著工作敲定了之后將performSelector相關(guān)的細(xì)節(jié)總結(jié)一番。 基礎(chǔ)用法...
看錯(cuò),用weakself沒有這個(gè)問題
Block中strongSelf的使用Block中strongSelf的使用 1.weakSelf與其缺陷 這里會(huì)有兩種情況: 若從A push到B薄坏,10s之內(nèi)沒有pop回A的話趋厉,B中block會(huì)執(zhí)行打印出來11...