Когда я нажимаю на кнопку «Пуск», stopWatchLabel
показывает следующее (его статические значения не выполняются):
- ПРИМЕЧАНИЕ. Когда я тестирую это приложение на своем iPhone, все работает, как ожидалось. Вообще никаких проблем.
Может кто-нибудь объяснить, почему?
.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
{
NSTimer *stopWatchTimer;
NSDate *startDate;
}
@property (strong, nonatomic) IBOutlet UILabel *stopWatchLabel;
- (IBAction)startButtonTapped:(id)sender;
- (IBAction)stopButtonTapped:(id)sender;
-(void)updateTimer;
@end
.m
- (IBAction)startButtonTapped:(id)sender {
stopWatchTimer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(updateTimer)
userInfo:nil
repeats:YES];
}
- (void)updateTimer
{
NSDate *currentDate = [NSDate date];
NSTimeInterval timeInterval = [currentDate timeIntervalSinceDate:startDate];
NSDate *timerDate = [NSDate dateWithTimeIntervalSince1970:timeInterval];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0.0]];
NSString *timeString=[dateFormatter stringFromDate:timerDate];
stopWatchLabel.text = timeString;
}
- (IBAction)stopButtonTapped:(id)sender {
[stopWatchTimer invalidate];
}
NSTimeInterval
. Нет необходимости создавать новую дату и форматировать ее. - person Joe   schedule 29.03.2012