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