インスタンスを他のクラスに初期化して別のクラスの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に戻ることです。アプリケーションコントローラー内に実装すると、コードは正常に機能しました。 ; ただし、現在は機能しますが、このエラーが発生します。誰かが私を助けることができればそれは大いにありがたいです。ありがとう。