NSTimer奇怪的问题

时间:2010-11-13 02:30:25

标签: iphone

我有2个ViewController(RootViewController是UITabBarController,ViewController1链接到UITabBarController的项目)

RootViewController中的

-(void)startTimer:(NSInteger)v;
{
    [NSTimer scheduledTimerWithTimeInterval:10 
                                 target:self
                               selector:@selector(timerFired:)
                               userInfo:nil
                                repeats:YES]; 


}


- (void)timerFired:(NSTimer *)timer {


    [vViewController1 doSomething];
}
ViewController1中的

-(void)doSomething;
{
   //I set breakpoint but never be fired
}

timerFired已激活,但ViewController1中的函数doSomething从未被触发过。

欢迎任何评论

由于

InterDev中

2 个答案:

答案 0 :(得分:3)

如果您知道正在调用timerFired:的事实,那么doSomething不会被调用的唯一原因是vViewController1是否为nill。再次检查。

答案 1 :(得分:2)

self scheduledTimerWithTimeInterval中的target:self表示RootViewController,因此它只会在RootViewController中调用doSomething,而不会在ViewController1中调用。