• /  2
  • 下載費用: 19.90積分  

黑馬程序員:IOS面試寶典之關于cell的復用問題.doc

'黑馬程序員:IOS面試寶典之關于cell的復用問題.doc'
?1. 關于cell的復用問題? cell的復用機制?TableView的重用機制,為了做到顯示和數據分離,IOS tableView的實現并且不是為每個數據項創建一個tableCell。而是只創建屏幕可顯示最大個數的cell,然后重復使用這些cell,對cell做單獨的顯示配置,來達到既不影響顯示效果,又能充分節約內容的目的。下面簡要分析一下它的實現原理。重用實現分析  查看UITableView頭文件,會找到NSMutableArray*  visiableCells,和NSMutableDictnery* reusableTableCells兩個結構。visiableCells內保存當前顯示的cells,reusableTableCells保存可重用的cells?!ableView顯示之初,reusableTableCells為空,那么tableView dequeueReusableCellWithIdentifier:CellIdentifier返回nil。開始的cell都是通過[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]來創建,而且cellForRowAtIndexPath只是調用最大顯示cell數的次數?! ”热纾河?00條數據,iPhone一屏最多顯示10個cell。程序最開始顯示TableView的情況是:  1>. 用[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]創建10次cell,并給cell指定同樣的重用標識(當然,可以為不同顯示類型的cell指定不同的標識)。并且10個cell全部都加入到visiableCells數組,reusableTableCells為空?! ?>. 向下拖動tableView,當cell1完全移出屏幕,并且cell11(它也是alloc出來的,原因同上)完全顯示出來的時候。cell11加入到visiableCells,cell1移出visiableCells,cell1加入到reusableTableCells?! ?>. 接著向下拖動tableView,因為reusableTableCells中已經有值,所以,當需要顯示新的cell,cellForRowAtIndexPath再次被調用的時候,tableView dequeueReusableCellWithIdentifier:CellIdentifier,返回cell1。cell1加入到visiableCells,cell1移出reusableTableCells;cell2移出visiableCells,cell2加入到reusableTableCells。之后再需要顯示的Cell就可以正常重用了。所以整個過程并不難理解,但需要注意正是因為這樣的原因:配置Cell的時候一定要注意,對取出的重用的cell做重新賦值,不要遺留老數據。8. 如何實現cell的動態的行高?如果希望每條數據顯示自身的行高, 必須設置兩個屬性, 1.預估行高, 2.自定義行高設置預估行高 tableView.estimatedRowHeight = 200設置定義行高 tableView.rowHeight = UITableViewAutomaticDimension如果要讓自定義行高有效, 必須讓容器視圖有一個自下而上 的約束
關 鍵 詞:
寶典 面試 關于 ios 程序員 cell 黑馬 問題
 天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:黑馬程序員:IOS面試寶典之關于cell的復用問題.doc
鏈接地址: http://www.094347.live/p-55539471.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服點擊這里,給天天文庫發消息,QQ:1290478887 - 聯系我們

本站為“文檔C2C交易模式”,即用戶上傳的文檔直接賣給(下載)用戶,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有【成交的100%(原創)】。本站是網絡服務平臺方,若您的權利被侵害,侵權客服QQ:1290478887 歡迎舉報。

[email protected] 2017-2027 http://www.094347.live 網站版權所有

粵ICP備19057495號 

收起
展開
有没有苹果软件赚钱的 杠杆投资股票 福建快3走势图遗漏表 黑龙江十一选五开奖号是多少 贵州快3开奖结果走势 南京商品期货配资 河北十一选五前三直遗漏 贵州11选5开奖规则 北京快三推荐计划 炒股配资在线 江苏快3投注平台官方网