在我的应用程序中,当用户单击按钮时,我想显示加载屏幕,然后调用将从网络加载数据的方法,然后加载在 UITableView 中显示数据的视图。除了显示加载屏幕外,我一切正常。(由于网络数据/解析逻辑正在执行,UI 挂起)谁能告诉我如何将网络业务设置为在单独的线程中运行以及何时启动该线程。
我有一个处理转换的 rootViewController。一个子类 UIViewController、UIView 和一个 UITableViewController 来处理这个视图。
在我的应用程序中,当用户单击按钮时,我想显示加载屏幕,然后调用将从网络加载数据的方法,然后加载在 UITableView 中显示数据的视图。除了显示加载屏幕外,我一切正常。(由于网络数据/解析逻辑正在执行,UI 挂起)谁能告诉我如何将网络业务设置为在单独的线程中运行以及何时启动该线程。
我有一个处理转换的 rootViewController。一个子类 UIViewController、UIView 和一个 UITableViewController 来处理这个视图。
将背景代码放在方法中,例如:
- (void)backgroundLogic;
{
NSAutoreleasePool *pool = [ [ NSAutoreleasePool alloc ] init ];
// do stuff here
[ pool release ];
}
然后显示加载屏幕,然后在单独的线程中使用
[NSThread detachNewThreadSelector: @selector(backgroundLogic) toTarget: self withObject: nil];
后台线程完成后,您可以关闭加载屏幕并继续应用程序的正常流程。