2012-04-14 36 views
0

使用xCode的Iam 4.3.2,在我的倒計時器項目(代碼如下所示)中,我想在30秒後停止倒計時。我如何設置我的倒數限制? 你能幫我嗎?Xcode - NSDate CountDown定時器的設置限制

int countLimit=30; //seconds 
NSDate *startDate; 

- (void)countDown{ 
    NSDate *currentDate = [NSDate date]; 
    NSTimeInterval timeInterval = -([currentDate timeIntervalSinceDate:startDate]); 
    NSDate *timerDate = [NSDate dateWithTimeIntervalSince1970:timeInterval]; 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"HH:mm:ss"]; 
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0.0]]; 
    NSString *timeString=[dateFormatter stringFromDate:timerDate]; 
    self.myCounterLabel.text = timeString; 
    [dateFormatter release]; 
} 

- (void)updateCounter{ 

    self.myCounterLabel.text = @"00:00:00"; 
    startDate = [[NSDate date]retain]; 

    myTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/10.0 
    target:self 
    selector:@selector(countDown) 
    userInfo:nil 
    repeats:YES]; 
} 
+0

我無法獲得此代碼的工作。但是這裏是一個偉大的教程(http://iphoneapp-dev.blogspot.com/2010 /10/how-to-create-countdown-timer-in-iphone.html)如何製作倒計時器,這對我來說非常合適。 – Neeku 2012-12-04 15:59:26

回答

0

只需添加到您的countDown方法

if([[NSDate date] timeIntervalSinceDate:startDate]>=countLimit) 

[myTimer invalidate]; 
+0

它給了我兩個警告: - 1.類方法'+ timeIntervalSinceDate:'未找到(返回類型默認爲'id')。 2.指針和整數('id'和'int')之間的有序比較 – shebi 2012-04-14 10:06:03

+0

對不起,更新了我的答案,我的意思是[NSDate date] – 2012-04-14 10:07:55

+0

謝謝Nikita,現在它的工作正常。 – shebi 2012-04-14 10:58:40