私は困惑しています!
カウントダウンを実行するタイマーのセットアップがあります。タイマー内で経過時間で UILabels を更新すると、すべてうまく機能しますが、楽器をテストすると、テキストの設定によってメモリリークが発生するという奇妙なことがあります。
タイマーコードは
NSTimer* timer = [NSTimer timerWithTimeInterval:1.0f
target:self
selector:@selector(myTimer:)
userInfo:nil
repeats:YES];
self.pnTimer = timer;
[[NSRunLoop mainRunLoop] addTimer:self.pnTimer forMode:NSRunLoopCommonModes];
私のタイマーメソッドには次のものがあります...
- (void)myTimer:(NSTimer*)timer {
...
if (self.secondsPassed <=9) {
[self.secondsLabel setText:[NSString stringWithFormat:@"0%i",self.secondsPassed]];
} else {
[self.secondsLabel setText:[NSString stringWithFormat:@"%i",self.secondsPassed]];
}
...
}
[self.secondsLabel... 行をコメントアウトし、Instruments で #Living 列を調べると、ほぼそのままの状態ですが、コードを実行してラベルを更新すると、アプリの動作が遅くなるまで #Living 列が絶えず増加します。応答しない (20 分程度)
ラベルは次のように定義されます。
@property (weak, nonatomic) IBOutlet UILabel *secondsLabel;
iOS 6.1 を使用する iPhone 5 デバイスでもこれをテストしていることに注意してください。
ここで私が間違っている可能性のあるアイデアはありますか? 助けてくれてありがとう