2010-05-06 75 views
0
不叫

我有我要调用函数时的运行成一个单独的线程我的功能之一玩完了一个问题:Performselector在NSThread

[NSThread detachNewThreadSelector:@selector(fetchFeaturedFreeApps) toTarget:self withObject:nil]; 

这里是我的fetchFeaturedFreeApps功能

-(void)fetchFeaturedFreeApps 
{ 
    ////all my code 
    [self performSelector:@selector(closeView) withObject:nil afterDelay:4.0]; 
} 

我的问题是关闭视图方法不会在4秒后运行。

锄头如果我用执行选择器调用fetchFeaturedFreeApps方法,那么我的closeview metod被正确调用。

非常感谢您的宝贵帮助。

回答

3

您希望在主线程上运行的选择器中运行任何UI或视图更新代码,而不是在后台线程中运行。使用-performSelectorOnMainThread:withObject:waitUntilDone:并在该选择器中放置一个定时器,在四秒钟后触发,这会关闭视图。