问题描述
|
在我的应用程序中,我有大量的数据,要在tableview中加载约70000条记录。加载大约需要十分钟的时间。由于它阻止了主UIthread,因此我无法返回或访问任何按钮。是否有其他替代方法,例如为此目的使用单独的线程或其他替代方法?请告诉我一些方法。
谢谢,
维诺德
解决方法
使用一个NSThread。
您的代码将看起来类似于:
NSThread *thread = [NSThread initWithTarget:self selector:@selector(loadData:) object:nil];
[thread start];
[thread release];
-(void) loadData:(id) obj {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// load data
[pool release];
}
如果需要从新创建的线程对主UI线程执行任何操作,请对当前对象使用performSelectorOnMainThread:withObject
方法。