//viewcontroller.m
-(void)viewdidLoad
{
self.theOneViewController= [[TheOneViewController alloc]init];
[contentsView addSubview:self.theOneViewController.view];
}
//theOneViewController
- (void)viewDidLoad
{ .
.
.
//UI WORK
.
.
//LONG WORK
[self performSelectorOnMainThread:@selector(initAppList) withObject:nil waitUntilDone:NO];
}
这段代码,在 LONG WORK 结束之前查看显示 UI WORK。所以我可以有一个线程效果。
//viewcontroller.m
-(void) buttonPressed:(id)sender -> event method
{
self.theOneViewController= [[TheOneViewController alloc]init];
[contentsView addSubview:self.theOneViewController.view];
}
//theOneViewController
- (void)viewDidLoad
{ .
.
.
//UI WORK
.
.
//LONG WORK
[self performSelectorOnMainThread:@selector(initAppList) withObject:nil waitUntilDone:NO];
}
在此代码中,在 LONG WORK 结束后查看显示 UI WORK。所以我不能有线程效果。为什么?我使用 (performSelectorInBackground:withObject:) 而不是 (performSelectorOnMainThread withObject:waitUntilDone:) 。但这比不使用线程要慢。
我想在事件方法调用中产生线程效果。有什么好办法吗?请帮帮我!