日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS tableview的常用delegate和dataSource执行顺序

發布時間:2025/6/17 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS tableview的常用delegate和dataSource执行顺序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在這次項目中遇到了一個特別奇葩的問題:表視圖創建的cell在7以上的系統能正常運行顯示,在模擬器上就不能正常實現......為解決這個問題,糾結了好久......

對在7系統上不顯示的猜測:

用masory設置約束不對,導致cell不顯示;

對這個猜測也弄了好久,對一個個控件的約束都好好檢查了一遍,發現實在是沒有錯的...后來迫不得已,自己不用masory,直接用frame約束,發現還是不顯示,這才對masory的問題放棄了....

最后考慮了下:他不是內容不顯示,他是直接這些cell不顯示,有沒有可能是cell的高度問題,通過打斷點,調試,發現確實是cell的高度問題,導致cell的不顯示,知道問題的原因就好辦了:

因為我的cell的高度動態的,我是在cell賦值的時候根據文字的多少計算label的高度,把每個cell的高度存到model里,控制器直接返回cell的高度即可.發現在cell的高度的方法里,cell的高度直接都返回為0了,導致cell的不顯示了.

這時候想到了iOS tableview的常用delegate和dataSource執行順序:

常用的也就是下面幾個方法了:

?

1 #pragma mark - Table view data source 2 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; 3 先看有幾個section 默認1個 4 5 #pragma mark - Table view delegate 6 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section; 7 標題頭的高度 8 9 #pragma mark - Table view data source 10 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; 11 *******每個section中有多少行cell 12 13 #pragma mark - Table view delegate 14 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; 15 ********每個cell的行高 16 17 #pragma mark - Table view data source 18 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; 19 *********初始化每個cell的內容 20 21 #pragma mark - Table view delegate 22 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;

?

創建表視圖的時候會先調用cell的高度的方法,再創建cell,一開始高度為0,cell當然不顯示啦......

所以,比較傻一點的方法就是在請求到數據的時候計算cell中可變的label的高度,存到model中即可,這樣也是最保險的方法.

雖然...功能實現了..可我還是糾結的問題沒有解決:

為什么在模擬器和7以上的系統上可以正常運行,在7的系統就不行呢????要說高度都為0啊....

有知道的朋友可以回復我喲....我們共同進步,加油!!!

轉載于:https://www.cnblogs.com/pengsi/p/5673385.html

總結

以上是生活随笔為你收集整理的iOS tableview的常用delegate和dataSource执行顺序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。