我有一个使用NSTimer调用另一个方法的方法:
NSNumber *value = {NSNumber numberWithInt:5];
myTimer = [NSTimer scheduledTimerWithTimeInterval: 0.02
target: self
selector: @selector(configGroup:)
userInfo: value
repeats: YES];我希望能够更新userInfo,但是没有一个设置器。没有为类创建另一个ivar,有方法在计时器中更新这个信息吗?
很明显,简单的方法就是添加ivar,但是我有很多这样的方法,我的ivar变得有点可笑了。
谢谢- GW
发布于 2013-09-25 05:29:56
使userInfo成为一个可变的类,例如NSMutableDictionary。这将允许您修改字典内容。
发布于 2013-09-25 05:29:24
如果没有看到代码的其余部分,就很难提出ivar的替代方案。然而,如果你在你的班上拥有的象牙数量变得可笑,这是一个更普遍的问题的迹象-你的班级正在做太多的事情!
您应该构造您的代码,以便每个类都有一个不同的用途。这将大大减少每个类中的代码数量,以及支持该代码所需的ivars数量。
https://stackoverflow.com/questions/18996828
复制相似问题