2017-05-10 245 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,但行NSDate *date = [formatter dateFromString:_selectedDate];未將任何值傳遞給date。請幫我找出問題所在。String from Date not working

+0

u分配。 ** formatter = [[NSDateFormatter alloc] init]; **兩次刪除第二次它將工作 –

+0

你調試和檢查日期是否爲零? –

+0

代碼運行良好。確保_選定的日期格式正確 –

回答

-5

試試這個

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不爲零。檢查您是否正確設置了_selectedDate中的值。

+0

零或不正確的格式,除了指定的 –

+0

'_selectedDate'不爲零。並且格式在問題中就像破折號一樣。 –