重用實(shí)現(xiàn)分析 查看UITableView頭文件,會(huì)找到NSMutableArray* visiableCells,和NSMutableDictnery* reusableTa...
重用實(shí)現(xiàn)分析 查看UITableView頭文件,會(huì)找到NSMutableArray* visiableCells,和NSMutableDictnery* reusableTa...
不好的解決方案:使用下面的方式會(huì)強(qiáng)制Core Animation提前渲染屏幕的離屏繪制, 而離屏繪制就會(huì)給性能帶來(lái)負(fù)面影響,會(huì)有卡頓的現(xiàn)象出現(xiàn)。 正確的解決方案:使用繪圖技術(shù)...
1、引言 每年的3、4月份都是求職高峰時(shí)期,目前已進(jìn)入6、7月份了,你已經(jīng)成功換工作了嗎? 這次我們想聊的,就是程序員跳槽這件事兒,我打算從三個(gè)方面來(lái)說(shuō): 1)程序員什么時(shí)候...
OC 消息轉(zhuǎn)發(fā)機(jī)制,當(dāng)調(diào)用一個(gè) NSObject 對(duì)象不存在的方法時(shí),并不會(huì)馬上拋出異常,而是會(huì)經(jīng)過(guò)多層轉(zhuǎn)發(fā),層層調(diào)用對(duì)象的-resolveInstanceMethod:, ...
文章目錄CPU和GPU 卡頓優(yōu)化 - CPU 卡頓優(yōu)化 - GPU 離屏渲染 耗電耗電優(yōu)化 APP的啟動(dòng) APP啟動(dòng)3大階段 APP的啟動(dòng)優(yōu)化 安裝包瘦身 面試題CPU和GP...
前言 之前看過(guò)蘑菇街, 阿里, CT等組件化方案, 單獨(dú)拿來(lái)使用都不是很好用. 對(duì)我們這種中小型公司來(lái)說(shuō)蘑菇街的不夠用, 阿里的復(fù)雜且并不好用. 所以最終看到有贊的方案覺(jué)得還...
綜合 所有的本地持久化數(shù)據(jù)存儲(chǔ)的本質(zhì)都是寫文件,而且只能存到沙盒中。 沙盒機(jī)制是蘋果的一項(xiàng)安全機(jī)制,本質(zhì)就是系統(tǒng)給每個(gè)應(yīng)用分配了一個(gè)文件夾來(lái)存儲(chǔ)數(shù)據(jù),而且每個(gè)應(yīng)用只能訪問(wèn)分配...
SDWebImage 一個(gè)為UIImageView提供一個(gè)分類來(lái)支持遠(yuǎn)程服務(wù)器圖片加載的庫(kù)。 功能簡(jiǎn)介: 工作流程 源碼分析 主要用到的對(duì)象 一、圖片下載 1、 SDWebI...
一、隱藏自身軟鍵盤 當(dāng)對(duì)于有多個(gè)UITextField控件都想通過(guò)點(diǎn)擊“Return”來(lái)隱藏自身軟鍵盤的情況,這時(shí)的最好辦法是使用Did End on Exit事件。在點(diǎn)擊軟...
TableView 是iOS app 中最常用的控件,許多代碼直接或者間接的關(guān)聯(lián)到table view任務(wù)中,包括提供數(shù)據(jù)、更新tableView、控制tableView行為...
內(nèi)存管理的一些概念 為什么要使用內(nèi)存管理? 1.嚴(yán)格的內(nèi)存管理,能夠是我們的應(yīng)用程在性能上有很大的提高2.如果忽略內(nèi)存管理,可能導(dǎo)致應(yīng)用占用內(nèi)存過(guò)高,導(dǎo)致程序崩潰 OC的內(nèi)存...
一、 分類和類擴(kuò)展區(qū)別 1. 分類實(shí)現(xiàn)原理 Category編譯之后的底層結(jié)構(gòu)是struct category_t,里面存儲(chǔ)著分類的對(duì)象方法、類方法、屬性、協(xié)議信息 在程序運(yùn)...
一、如何繪制UIView?繪制一個(gè)UIView最靈活的方法就是由它自己完成繪制。實(shí)際上你不是繪制一個(gè)UIView,而是子類化一個(gè)UIView并賦予繪制自己的能力。當(dāng)一個(gè)UIV...
SDWebImage 一個(gè)為UIImageView提供一個(gè)分類來(lái)支持遠(yuǎn)程服務(wù)器圖片加載的庫(kù)。 功能簡(jiǎn)介: 工作流程 源碼分析 主要用到的對(duì)象 一、圖片下載 1、 SDWebI...
1. 事件的產(chǎn)生 發(fā)生觸摸事件后,系統(tǒng)會(huì)將該事件加入到一個(gè)由UIApplication管理的事件隊(duì)列中,為什么是隊(duì)列而不是棧?因?yàn)殛?duì)列的特點(diǎn)是FIFO,即先進(jìn)先出,先產(chǎn)生的事...
在iOS中只有繼承UIResponder的對(duì)象才能夠接收并處理事件,UIResponder 是所有響應(yīng)對(duì)象的基類,在UIResponder類中定義了處理上述各種事件的接口。我...
TableView 是iOS app 中最常用的控件,許多代碼直接或者間接的關(guān)聯(lián)到table view任務(wù)中,包括提供數(shù)據(jù)、更新tableView、控制tableView行為...
MVVM和MVC的區(qū)別 1. MVC MVC的弊端 厚重的View ControllerM:模型model的對(duì)象通常非常的簡(jiǎn)單。根據(jù)Apple的文檔,model應(yīng)包括數(shù)據(jù)和操...
Runloop 為什么只有主線程的runloop是開啟的 為什么只在主線程刷新UI PerformSelector和runloop的關(guān)系 如何使線程保活 Runloop 作為...
在 CoreFoundation 里面關(guān)于 RunLoop 有 5 個(gè)類,分別對(duì)應(yīng)不同的概念: CFRunLoopRef,對(duì)應(yīng) runloop。 CFRunLoopModeR...