我有一个方法通过初始化另一个类的实例来获取另一个类的 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。我的代码在应用程序控制器中实现时运行良好; 但是,现在它可以工作但出现此错误。如果有人可以帮助我,将不胜感激。谢谢。