我很困惑!
我有一个运行倒计时的计时器设置,在计时器内我用经过的时间更新 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…并且反应迟钝(20 分钟左右)
标签定义为
@property (weak, nonatomic) IBOutlet UILabel *secondsLabel;
请注意,我也在使用 iOS 6.1 的 iPhone 5 设备上进行测试
有什么想法我可能在这里做错了吗?谢谢你的帮助