簡體   English   中英

什么時候是tableView:numberOfRowsInSection:在UITableView中調用?

[英]When is tableView:numberOfRowsInSection: called in UITableView?

tableView:numberOfRowsInSection被發送到UITableView的委托,以找出它在給定部分中需要有多少行。

我的問題是,這個方法的調用時間和頻率是多少?

在第一次加載tableview時調用該方法,如果您對委托更感興趣,則放置一個斷點並檢查調用哪個委托的時間和位置以及多少次。

下面是調用該函數的實例,

  1. 第一次加載表時
  2. 重新加載表數據的時間
  3. 您動態添加/更新/刪除行或部分的時間。

方法- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)sectionUITableViewDataSource - 協議的協議方法。 它將在您第一次加載表視圖時調用,具體取決於您已正確設置dataSource ,例如

self.yourTableView.dataSource = self;

如果您有興趣稍后再次更新您的桌子,可以致電

[self.yourTableView reloadData];

為了重新加載整個表。 如果您只對重新加載表的一部分感興趣,可以執行類似的操作

NSIndexSet *reloadSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, [self numberOfSectionsInTableView:self.yourTableView])];
[self.yourTableView reloadSections:reloadSet withRowAnimation:UITableViewRowAnimationAutomatic];

希望能幫助到你!

我的問題是,這個方法的調用時間和頻率是多少?

簡答:當您的UITableView需要更新某些內容時。

長答案:代表方法通常稱自己,但是當您的UITableView需要更新某些內容時,它可能被多次調用。 默認情況下,第一次調用tableview時會調用它(重新加載)。

這取決於用戶將UITable視圖滾動到部分的頻率以及有多少部分。 此值,由此函數返回並進行轉換。 如果要更新表視圖的內容(過濾結果或通過reloadData更新數據),則需要撤銷方法。

最好的辦法是將記錄添加到此功能並自行檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM