簡體   English   中英

UITableView太早加載數據或太晚加載數據

[英]UITableView loads data too early… or too late

我有一個UITableView,它經常更改其數據。 (這只是存儲在NSArray中的NSStrings。)

Method 1> [self loadMyArray];
Method 2> [myTable reloadData];

我將把這兩種方法放在哪里...以便每當顯示視圖時它們都被調用?

我認為一些可能的地方是:

viewWillLoad
viewDidLoad
viewWillAppear
viewDidAppear

但是我似乎找不到我需要的放置位置:每次出現視圖時……但是在UITableView構建之前。

如果將我的2個方法放入“加載”委托中,則刷新次數不夠。

如果我將2個方法放入“出現”委托中,我會注意到數據已加載兩次。 (浪費)

簡短的答案是,在99%的時間中,應始終將[myTableView reloadData]放入viewDidLoad

如果您希望從子視圖返回UIView時UITableView重新加載其數據(例如,您更新了一些數據),則需要考慮在UITableView中使用的是什么。 大多數時候,我使用的是NSFetchedResultsController,它具有自己的方法來處理數據更新。 但是,有時在重新加載UITableView時需要更新其他類型的數據。 這是我的處理方式:我沒有將[myTableView reloadData]放入viewDidLoad ,而是將其放入了viewWillAppear

如果由於某種原因該表需要很長時間加載,並且在顯示數據之前顯示空白表,那么我會考慮使用Instruments來分析數據加載函數,也許真正的問題是您需要優化該函數,以便需要更少的時間。

暫無
暫無

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

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