代码之家  ›  专栏  ›  技术社区  ›  arachide

时间奇怪的问题

  •  0
  • arachide  · 技术社区  · 14 年前

    我有2个viewcontroller(rootviewcontroller是uitabarcontroller,viewcontroller1链接到uitabarcontroller的项)

    在rootviewcontroller中

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

    在视图控制器1中

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

    TimerFired已激活,但ViewController1中的函数DoSomething从未被激发。

    欢迎发表评论

    谢谢

    交互开发

    2 回复  |  直到 14 年前
        1
  •  3
  •   Daniel T.    14 年前

    如果您知道正在调用TimerFired:,那么DoSomething不会被调用的唯一原因是VviewController1是nill。再检查一遍。

        2
  •  2
  •   ohho    14 年前

    这个 self 在里面 scheduledTimerWithTimeInterval target:self 表示rootviewController,因此它只调用 doSomething 在rootviewcontroller中,但不在viewcontroller1中。