1

1 つの日付 (start_date など) と現在の日付 (current_date_from_db) を比較しています。しかし、比較は次の 2 つのエラーのいずれかで失敗しています。

if ([current_date_from_db compare:start_date]== NSOrderedAscending) 
{
     NSLog(@"Yes");
}
else {      
     NSLog(@"No");      
};

while([ current_date_from_db earlierDate:start_date] && [current_date_from_db laterDate:end_date]) 

コードは失敗しています

SIGBART: キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '-[NSCFString isEqualToDate:]

4

2 に答える 2

1

current_date_from_dbは、エラーメッセージ[NSCFString isEqualToDate:]に表示される文字列です。日付を解析してから、以下を比較する必要があります。

NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:current_date_from_db];
于 2012-06-07T18:33:57.893 に答える
0

比較する前に変換を行う必要があります。current_date_from_dbを使用してNSDateオブジェクトを作成するか、start_dateを文字列に変換してから比較します。

于 2012-06-07T18:38:21.290 に答える