2011-02-11 18 views
1

我有一个NSTimer对象。问题与NSTimer调用内我的-parserDidEndDocument

timer = [NSTimer scheduledTimerWithTimeInterval:0.02 target:self selector:@selector(timerAction) userInfo:nil repeats:YES]; 
[timer fire]; 

的方法“timerAction”重复完美时调用从viewDidLoad方法定时器,但是当我所说的计时器从parserDidEndDocument,该方法“timerAction”只运行一次。为什么是这样?

+0

您需要在您的parserDidEndDocument中调用计时器发布代码。否则我会怎么猜? – Yuji 2011-02-11 09:31:28

+0

上面的代码片段是。这就是我在解析器DIDEnd中所做的。即使在viewDidLoad – 2011-02-11 09:33:30

回答

1

你可以尝试在主线程上运行定时器。

试试这个

创建包括代码,一种新的方法来启动计时器,如: -

-(void)createTimer{ 
    timer = [NSTimer scheduledTimerWithTimeInterval:0.02 target:self selector:@selector(timerAction) userInfo:nil repeats:YES]; 
    [timer fire]; 
} 

在你parserDidEndDocument委托,试试这个:

[self performSelectorOnMainThread:@selector(createTimer) withObject:[nil waitUntilDone:YES]