不在NSThread中调用Performselector

时间:2010-05-06 06:47:30

标签: iphone objective-c

我有一个问题,当我的某个函数运行到一个单独的线程结束时,我想调用一个函数:

[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会被正确调用。

非常感谢您的宝贵帮助。

1 个答案:

答案 0 :(得分:3)

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