我有一个 NSTimer
有一个 NSNumber
在其userInfo
fireTimer = [NSTimer scheduledTimerWithTimeInterval:6.0
target:self
selector:@selector(fireTileAddingToColumn:)
userInfo:myNumber
repeats:YES];
在
NSTimer
之后已创建并运行了几次,我希望能够更改 myNumber
的值并让它反射(reflect)在 fireTileAddingToColumn:
我没有任何运气让它发挥作用。有没有人有什么建议?
最佳答案
您始终可以将保存 userInfo 的对象传递给计时器:
@interface Holder
@property id data;
-(id) initWithData: (id) data;
@end
// implement it
Holder *holder = [[Holder alloc] initWithData:myNumber];
fireTimer = [NSTimer scheduledTimerWithTimeInterval:6.0 target:self
selector:@selector(fireTileAddingToColumn:) holder
repeats:YES];
[Holder setData: myNumber2];
并且数据变化将反射(reflect)在选择器中
关于objective-c - 是否可以更改 NSTimer 的用户信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8321035/