0

目覚まし時計アプリケーションを 1 つ作成しました。ユーザーが [Set Timer] ボタンをクリックすると、ピッカー ビューが呼び出されます。ピッカー ビューには、時間、分、秒が表示されます。ユーザーがそれらを選択して [OK] をクリックすると、そのタイマー ボタンの値が変更されます。

例: ユーザーが 2 時間 4 分 10 秒を選択した場合

ボタンのラベルは 02:04:10 になります

ここで、2 を 1 つの文字列に格納し、4 を別の文字列に格納し、10 を別の文字列に格納するなど、3 つすべてを分離したいと考えています。

ここで何をすればいいですか?誰でも助けてもらえますか?

4

2 に答える 2

2

これを試してみてください....

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"<your date format goes here"];
NSDate *Yourcurrenttime = [dateFormatter dateFromString:string1];



    NSCalendar *calendar = [NSCalendar currentCalendar];

    NSDateComponents *components = [calendar components:(NSHourCalendarUnit |NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate: Yourcurrenttime];

    NSInteger hour = [components hour];
    NSInteger minutes = [components minute];
    NSInteger seconds = [components second];

すべての値を文字列に格納します。

NSString *HourSTR =[NSString stringWithFormat:@"%d",hour];
NSString *minutesSTR =[NSString stringWithFormat:@"%d",minutes];
NSString *secondsSTR =[NSString stringWithFormat:@"%d",seconds];
于 2012-10-04T05:49:39.943 に答える
2

このようにカウントダウンタイマーを1つ実行しましたが、あなたに役立つかもしれません

 -(void) viewWillAppear:(BOOL)animated
 {
 timer = [NSTimer scheduledTimerWithTimeInterval: 1.0 target:self selector:@selector(updateCountdown) userInfo:nil repeats: YES];
 }

 -(void) updateCountdown 
 {

NSString *dateString = @"14-09-2012";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *dateFromString = [[NSDate alloc] init];
// voila!
dateFromString = [dateFormatter dateFromString:dateString];


NSDate *now = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];



NSDateComponents *componentsHours = [calendar components:NSHourCalendarUnit fromDate:now];
NSDateComponents *componentMint = [calendar components:NSMinuteCalendarUnit fromDate:now];    
NSDateComponents *componentSec = [calendar components:NSSecondCalendarUnit fromDate:now];        


NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *componentsDaysDiff = [gregorianCalendar components:NSDayCalendarUnit
                                                            fromDate:now
                                                              toDate:dateFromString
                                                             options:0];



lblDaysSetting.text=[NSString stringWithFormat:@"%02d",componentsDaysDiff.day];
lblHouresSetting.text=[NSString stringWithFormat:@"%02d",(24-componentsHours.hour)];    
lblMinitSetting.text=[NSString stringWithFormat:@"%02d",(60-componentMint.minute)];  
lblSecSetting.text=[NSString stringWithFormat:@"%02d",(60-componentSec.second)];  



 }

今すぐあなたのロジックを設定してください

于 2012-10-04T05:50:28.817 に答える