的NSTimer奇怪的问题
我有2个视图控制器(RootViewController的是的UITabBarController,ViewController1链接的UITabBarController的项目)的NSTimer奇怪的问题
在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中
如果你知道timerFired:被调用的事实,那么doSomething不会被调用的唯一原因是vViewController1是nill。再次检查。
的self
在scheduledTimerWithTimeInterval
target:self
意味着RootViewController的,所以它只会调用doSomething
在RootViewController的但不是在ViewController1。
谢谢。但我真的需要在ViewController1中调用函数doSomething,我该怎么办? – arachide 2010-11-13 02:41:40
它调用'timerFired:'on'RootViewController ',这反过来又调用了'doSomething'(据推测是)'ViewController1'对象。 – 2010-11-13 02:55:44
你确定'vViewController1'不是零吗? – 2010-11-13 02:36:54
非零,我相信 – arachide 2010-11-13 02:42:43
你能告诉你如何获得vViewController1的句柄吗?此外,如果您使用的是属性定义。 – raidfive 2010-11-13 02:49:07