2017-05-10 9 views
0
-(void)viewLogAction 
    { 
NSDateFormatter *formatter=[[NSDateFormatter alloc]init]; 
[formatter setDateFormat:@"yyyy-MM-dd"]; 
NSDate *date = [formatter dateFromString:_selectedDate]; 
formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"dd-MM-yyyy"]; 

NSString *convertedString = [formatter stringFromDate:date]; 

_allFood = [CoreDataMethods foodLogFromCoreData:convertedString]; 
if([_allFood count]==0) 
{ 
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"No data" message:@"Sorry, No food item to display on this date" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
    [alert show]; 

} 
else{ 

[self performSegueWithIdentifier:@"viewLogSegue" sender:self]; 

} 
} 

これは私のコードです。 NSString _selectedDateは値2017-05-09を持っていますが、dateに値を渡していない行NSDate *date = [formatter dateFromString:_selectedDate];があります。問題を見つけるのを助けてください。文字列の日付が機能しない

+0

が割り当てられました。 ** formatter = [[NSDateFormatter alloc] init]; ** 2回目の作業が削除されます。 –

+0

日付をデバッグしてチェックしましたか? –

+0

コードは正常に動作しています。 _selected dateが正しい形式であることを確認してください。 –

答えて

-5

は、あなたが投稿したコードは結構ですと_selectedDateがnilでない場合は正しく動作します。この

NSDateFormatter *formatter=[[NSDateFormatter alloc]init]; 
[formatter setDateFormat:@"yyyy-MM-dd"]; 
NSDate *date = [formatter dateFromString:_selectedDate]; 
[formatter setDateFormat:@"dd-MM-yyyy"]; 
+0

ありがとう、これはうまくいきました。 –

+2

@JohnXavierこれでどのように問題が解決しましたか?これが機能すれば、元のコードが機能します。 – rmaddy

+0

@rmaddyはい私はそれがどのようにして問題を解決したのか混乱しています@ JohnXavier –

1

を試してみてください。値を_selectedDateに正しく設定していることを確認してください。

+0

指定以外のフォーマットが不正または不正です –

+0

'_selectedDate'がnilではありません。フォーマットは質問のようにダッシュで表示されます。 –

関連する問題