Erstellen einer Stoppuhr im Iphone

Ich versuche, erstellen Sie eine einfache Stoppuhr. Ich bezog mich auf diese website ( http://www.apptite.be/tutorial_ios_stopwatch.php) zu tun diese app. Wenn ich auf die start-Taste, bekomme ich -596:-31:-23:-648 und die Stoppuhr nicht läuft.

Der code sieht wie folgt aus:

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController{
    UILabel *lbl;
    NSTimer *stopTimer;
    NSDate *startDate;
}

@property (strong,nonatomic) IBOutlet UILabel *lbl;

-(IBAction)startPressed:(id)sender;
-(IBAction)stopPressed:(id)sender;

-(void)updateTimer;

@end

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize lbl;

- (void)viewDidLoad
{
    [super viewDidLoad];
    lbl.text = @"00.00.00.000";
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    //Dispose of any resources that can be recreated.
}
-(IBAction)startPressed:(id)sender{
    if (stopTimer == nil) {
        stopTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/10.0
                                                     target:self
                                                   selector:@selector(updateTimer)
                                                   userInfo:nil
                                                    repeats:YES];
    }
}
-(IBAction)stopPressed:(id)sender{
    [stopTimer invalidate];
    stopTimer = nil;
    //[self updateTimer];

}
-(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:ss.SSS"];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0.0]];
    NSString *timeString=[dateFormatter stringFromDate:timerDate];
    lbl.text = timeString;
}

@end

Müssen einige Hinweise auf die Lösung des Fehlers. Nicht sicher, wo der Fehler ist. Jede Hilfe zu schätzen wissen...

verwenden nstimer für erstellen Stoppuhr
verwendet: NSTimer *stopTimer; bereits
dies wird helfen, u techrepublic.com/blog/ios-app-builder/...
Eine Sache zuzuweisen, Eigentum und synthetisieren für stopTimer und mit sich selbst.
hinzufügen startDate = [NSDate date]; der startPressed das Problem gelöst,.. aber immer noch, wenn ich drücken Sie start erneut, wird der Wert geht auf null zurück.

InformationsquelleAutor lakesh | 2012-10-31

Schreibe einen Kommentar