1

startdateenddateを追加したいので、 startdateenddateの両方に異なるdatecontroller クラスを作成しました。

初めて入ったときは調子が良く、データベースにもちゃんと保存されています。しかし、更新してからメッセージの保存をクリックすると、コードに警告メッセージブロックが表示されます。開始日を終了日の値以下にする必要があります。

これは私のコードで、データベース テーブルに値を挿入したときに初めて機能します。更新して保存ボタンをクリックすると、その条件がチェックされ、その値でデータベースの古い値の開始日と終了日が取得され、この問題を解決する方法は?

私が戻ってきたとき、私はこれを着ますNSLog

message 2012-08-07 14:21:08.047 People[17111:207] *****:2012-08-06 18:30:00 +0000
2012-08-07 14:22:54.752 People[17111:207] *****:2012-08-06 18:30:00 +0000

私のコード:-

-(IBAction)plusSignTapped:(id)sender
{


    NSComparisonResult result = [firstobj.StartDate compare: firstobj.EndDate]; 
    NSLog(@"*****:%@", firstobj.StartDate);
    NSLog(@"*****:%@", firstobj.EndDate);
    if( result == NSOrderedDescending || result==NSOrderedSame) 
    { 
        UIAlertView* alert=[[UIAlertView alloc] initWithTitle:@"test" message:@"End date should be greater than or equal to start date " delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
        [alert release];

      return;   
    } 
}
4

2 に答える 2

0

2つの日付と2つの日付ピッカーがあることを想像してみましょう。

firstDatesecondDate ;

firstDatePickersecondDatePicker ;

値変更イベントを担当するfirstDatePicker関数で、secondDatePickerのminimumDateを設定する必要があります(最小日付よりも小さい場合は日付値も設定する必要があります)

- (void)firstDatePickerDateChanged
{
    firstDate = firstDatePicker.date
    secondDatePicker.minimumDate = firstDate;
    if ([secondDatePicker.date firstDate] == NSOrderedAscending) {
        secondDatePicker.date = [firstDate dateByAddingTimeInterval:24 * 3600];
        // we add a day to second date, but you can add any value
        [secondDatePicker sendActionsForControlEvents:UIControlEventValueChanged];
        // you need send value changed message to update your secondDate var            
    }
}
于 2012-08-07T09:16:13.337 に答える
0

これは、日付が日付以下であることを確認するための代替手段であるため、これを行います。

NSTimeInterval timeStartDate = [firstobj.StartDate timeIntervalSince1970]; //StartDate convert into time
NSTimeInterval timeEndDate = [firstobj.EndDate timeIntervalSince1970]; //EndDate convert into time
if (timeStartDate <= timeEndDate) //Compare StartDatetime with EndDatetime
{
    NSLog(@" timeStartDate less thanORequal to %f timeEndDate :%f", timeStartDate,timeEndDate);
}
else
{
    NSLog(@" Date is greater");
}
于 2012-08-07T09:31:05.353 に答える