我在sample.m中定义了一个类(Sample),其中我有以下方法:
-(NSInteger)refreshValue:(id)sender{
//Do some thing here and return value.
NSLog(@"Print something here");
return something;
}
-(IBAction)monitorValue:(id)sender {
NSLog(@"In here");
timer = [NSTimer scheduledTimerWithTimeInterval: 1
target: self
selector: @selector(refreshValue:)
userInfo: nil
repeats: YES];
}
现在我有另一个类test.m.从test.m开始,我这样做:
Sample *test = [Sample alloc]
[test monitorValue:(id)sender]
当我运行此代码时,我可以看到监视器值方法被调用。但是,flushValue方法永远不会从monitorValue中调用,这正是我想要的。如果我从sample.m调用monitorValue,那么一切正常。从其他对象调用它时不起作用。
有什么想法吗?感谢。
答案 0 :(得分:2)
您的计时器回调方法签名不正确。根据{{3}},它应该是:
- (void)timerFireMethod:(NSTimer*)theTimer