我需要将一个整数传递给我的方法startEvent:
。该方法是定时器的 Action 方法。我已阅读有关如何使用 userInfo
传递数据的信息,但我不明白如何执行此操作,因此我仍然可以像平常一样调用该方法。
如何从 NSTimer
和常规调用中传递整数到同一方法?
[NSTimer scheduledTimerWithTimeInterval:0.032f target:self selector:@selector(startEvent:) userInfo:nil repeats:NO];
[self startEvent: 0];
-(void)startEvent:(int) event {
// ...
}
最佳答案
对计时器的操作方法使用传递:
- (void)startEventFromTimer:(NSTimer *)tim
{
[self startEvent:[[tim userInfo] intValue]];
}
您的计时器是使用 NSNumber
作为其用户信息对象创建的。
[NSTimer scheduledTimerWithTimeInterval:0.032f
target:self
selector:@selector(startEventFromTimer:)
userInfo:@(theIntYouWantToPass)
repeats:NO];
关于objective-c - 使用 NSTimer 以及从常规调用相同的方法传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24665441/