在UIViewController中,我有一个UITableView和一个NSArray数据列表,我试图用[cellForRowAtIndexPath:indexPath]中的datalist填充tableview。在UIViewController的viewDidLoad中,我写了
datalist = [LoadingService getDatalist]
LoadingService正在从网络加载数据以填充数据列表,getDatalist消息返回datalist。我知道在viewdidload中,datalist可能没有数据,因此UITableView中没有显示数据。 我的问题是,当数据列表更新时,如何在UITableView中显示datalist'data?
答案 0 :(得分:3)
答案:不要。
如果您没有数据,则显示微调器(UIActivityIndicatorView)或进度视图(UIProgressView)以至少指示您的应用正在处理,否则用户将对感知延迟感到沮丧。然后,当您的函数返回了可接受的数据时,请调用-reloadData
并在表中显示新更新的数组,只要您是上述表的委托。许多服务器也会同时返回响应而不是分块。
如果您确实正在为一个输入处理多个响应,因为每个响应都被加载到数组/数据源中,请调用-reloadData以给出“实时更新”的错觉。