UITableView

1熟妓、UITableView的簡單認識

(1)重用機制
UITableView最核心的思想就是UITableViewCell的重用機制。簡單的理解就是:UITableView只會創(chuàng)建一屏幕(或一屏幕多一點)的UITableViewCell孙援,其他都是從中取出來重用的。每當Cell滑出屏幕時,就會放入到一個集合(或數(shù)組)中(這里就相當于一個重用池),當要顯示某一位置的Cell時疤估,會先去集合(或數(shù)組)中取,如果有霎冯,就直接拿來顯示铃拇;如果沒有,才會創(chuàng)建沈撞。這樣做的好處可想而知慷荔,極大的減少了內(nèi)存的開銷。

(2)兩個重要的回調(diào)方法
UITableView最主要的兩個回調(diào)方法是

tableView:cellForRowAtIndexPath:
tableView:heightForRowAtIndexPath:

理想上我們是會認為UITableView會先調(diào)用前者缠俺,再調(diào)用后者显晶,因為這和我們創(chuàng)建控件的思路是一樣的,先創(chuàng)建它壹士,再設(shè)置它的布局磷雇。但實際上卻并非如此,我們都知道墓卦,UITableView是繼承自UIScrollView的倦春,需要先確定它的contentSize及每個Cell的位置户敬,然后才會把重用的Cell放置到對應(yīng)的位置落剪。所以事實上,UITableView的回調(diào)順序是先多次調(diào)用tableView:heightForRowAtIndexPath:以確定contentSize及Cell的位置尿庐,然后才會調(diào)用tableView:cellForRowAtIndexPath:忠怖,從而來顯示在當前屏幕的Cell。

舉個例子來說:
如果現(xiàn)在要顯示100個Cell抄瑟,當前屏幕顯示5個凡泣。那么刷新(reload)UITableView時,UITableView會先調(diào)用100次tableView:heightForRowAtIndexPath:方法,然后調(diào)用5次tableView:cellForRowAtIndexPath:方法鞋拟;滾動屏幕時骂维,每當Cell滾入屏幕,都會調(diào)用一次tableView:heightForRowAtIndexPath:贺纲、tableView:cellForRowAtIndexPath:方法航闺。

注意的細節(jié)是:如果 row 的高度都一定,那就刪除代理中的這個 tableView:heightForRowAtIndexPath: 方法猴誊,設(shè)置 Table View 的 rowHeight 屬性潦刃,相似的 numberOfRowsInSection: 系列的方法,蘋果的文檔里介紹這樣也可以減少了調(diào)用時間懈叹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末乖杠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子澄成,更是在濱河造成了極大的恐慌胧洒,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件环揽,死亡現(xiàn)場離奇詭異略荡,居然都是意外死亡,警方通過查閱死者的電腦和手機歉胶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門汛兜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人通今,你說我怎么就攤上這事粥谬。” “怎么了辫塌?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵漏策,是天一觀的道長。 經(jīng)常有香客問我臼氨,道長掺喻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任储矩,我火速辦了婚禮感耙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘持隧。我一直安慰自己即硼,他們只是感情好,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布屡拨。 她就那樣靜靜地躺著只酥,像睡著了一般褥实。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上裂允,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天损离,我揣著相機與錄音,去河邊找鬼绝编。 笑死草冈,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的瓮增。 我是一名探鬼主播怎棱,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绷跑!你這毒婦竟也來了拳恋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤砸捏,失蹤者是張志新(化名)和其女友劉穎谬运,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垦藏,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡梆暖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了掂骏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轰驳。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖弟灼,靈堂內(nèi)的尸體忽然破棺而出级解,到底是詐尸還是另有隱情,我是刑警寧澤田绑,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布勤哗,位于F島的核電站,受9級特大地震影響掩驱,放射性物質(zhì)發(fā)生泄漏芒划。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一欧穴、第九天 我趴在偏房一處隱蔽的房頂上張望民逼。 院中可真熱鬧,春花似錦苔可、人聲如沸缴挖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽映屋。三九已至,卻和暖如春同蜻,著一層夾襖步出監(jiān)牢的瞬間棚点,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工湾蔓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瘫析,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓默责,卻偏偏與公主長得像贬循,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子桃序,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容