2017-05-10 3 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]; 

} 
} 

Dies ist mein Code. Der NSString _selectedDate hat den Wert 2017-05-09, aber die Zeile NSDate *date = [formatter dateFromString:_selectedDate]; übergibt keinen Wert an date. Bitte helfen Sie mir, das Problem herauszufinden.Zeichenfolge vom Datum funktioniert nicht

+0

zugewiesen. ** formatter = [[NSDateFormatter alloc] init]; ** zwei Mal entfernen zweites Mal wird es funktionieren –

+0

Haben Sie debugged und überprüft das Datum ist Null? –

+0

Der Code funktioniert gut. Stellen Sie sicher, dass _ausgewähltes Datum im richtigen Format ist –

Antwort

-5

dies richtig Sie

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

Danke, das hat gut funktioniert. –

+2

@JohnXavier Wie wird das Problem behoben? Wenn dies funktioniert, funktioniert Ihr ursprünglicher Code. – rmaddy

+0

@rmaddy ja ich bin auch verwirrt, wie es Ihre Frage behoben @ JohnXavier –

1

Der Code geschrieben ist in Ordnung und funktioniert versuchen, wenn _selectedDate nicht gleich Null ist. Überprüfen Sie, ob Sie den Wert in _selectedDate richtig einstellen.

+0

Nicht oder falsches Format anders als angegeben –

+0

'_selectedDate' ist nicht Null. und das Format ist in Strichen genau wie in der Frage. –