【发布时间】:2011-09-23 05:43:32
【问题描述】:
我有一个方法,它通过初始化另一个类的实例来获取另一个类的 IBOutlet,然后运行使用对 IBOutlets 的引用在另一个应用程序中设置内存地址的代码。代码运行良好,但由我设置为每 5 秒刷新一次的计时器定期更新。问题是每 5 秒内存地址会周期性地更改为错误的值,然后再变回正确的值。这是我的基本代码:
#define OFF 0
#define ON 1
- (void)onOff:(id)sender {
if ([[appDelegate buttonOutletName] state] == ON) {
[helper setIntForAddress:0xFFFFFF value:1];
}
if ([[appDelegate buttonOutletName] state] == OFF) {
[helper setIntForAddress:0xFFFFFF value:0];
}
}
问题是,每当我从按钮以外的任何地方调用此代码(例如 [self onOff:self]; )时,它都会短暂地将值设置为 0,然后再设置为 1。我的代码在内部实现时运行良好应用程序控制器;但是,现在它可以工作但出现此错误。如果有人可以帮助我,将不胜感激。 谢谢。
【问题讨论】:
-
这个
setIntForAddress:value:方法有什么作用?它会改变[[appDelegate buttonOutletName] state]的值吗?
标签: objective-c xcode memory nsbutton