我有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中
答案 0 :(得分:3)
如果您知道正在调用timerFired:的事实,那么doSomething不会被调用的唯一原因是vViewController1是否为nill。再次检查。
答案 1 :(得分:2)
self
scheduledTimerWithTimeInterval
中的target:self
表示RootViewController,因此它只会在RootViewController中调用doSomething
,而不会在ViewController1中调用。