Iphone 如何在从NSArray将数据加载到UITableView时显示UIActivityindicator

Iphone 如何在从NSArray将数据加载到UITableView时显示UIActivityindicator,iphone,ios,xcode,Iphone,Ios,Xcode,我正在将NSArray的数据加载到UITableView中。一切顺利。在加载uitableview时显示UIActivityindicator确实让我感到困惑 所以,请给出指导原则和示例代码 谢谢。除非阵列中有大量数据,或者某些数据来自internet,否则加载UITableView(显示的单元格)所需时间应少于一帧,因此在这种情况下,尝试显示UIActivityIndicator是没有用的。无论您有多少数据(您的NSArray模型包含多少个元素),表视图只需要可见的单元格,这很小。因此,如果您

我正在将NSArray的数据加载到UITableView中。一切顺利。在加载uitableview时显示UIActivityindicator确实让我感到困惑

所以,请给出指导原则和示例代码


谢谢。

除非阵列中有大量数据,或者某些数据来自internet,否则加载
UITableView
(显示的单元格)所需时间应少于一帧,因此在这种情况下,尝试显示
UIActivityIndicator
是没有用的。

无论您有多少数据(您的NSArray模型包含多少个元素),表视图只需要可见的单元格,这很小。因此,如果您已经加载了模型数据,则不需要活动监视器

如果要在刷新表视图(填充基于数组的数据模型)之前获取数据,或者从远程URL下载数据,则需要在后台线程中执行此操作,以便主线程可以自由更新UI(特别是活动指示器)。数据准备就绪后,请在主线程上重新加载表视图

NSObject有许多方便的方法来实现这一点,包括

- (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait

那么,如何解决这个问题呢。