Je vais avoir une légère difficulté à comprendre pourquoi le code suivant se bloque une application de la mine:émet NSDate et NSDateFormatter
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMMM d, yyyy"];
NSDate *date = [dateFormatter dateFromString:cDate];
datePicker.date = date;
NSString *dateStr = [dateFormatter stringFromDate:date];
[dateLabel setText:dateStr];
[dateFormatter release];
Si je commente ce qui précède sur, app est très bien. Aussi, si je change le format de date à aucun accident se produit suivant:
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
Dans mon délégué UIDatePicker
, j'ai le code répété qui ressemble à ce qui suit (et fonctionne très bien):
-(IBAction)datePickerValueChanged:(id)sender
{
NSDate *date = [datePicker date];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"MMMM d, yyyy"];
NSString *dateStr = [dateFormatter stringFromDate:date];
[dateLabel setText:dateStr];
}
L'erreur je reçois est la suivante:
*** Assertion failure in -[UIDatePickerView _updateBitsForDate:andReload:animateIfNeeded:], /SourceCache/UIKit/UIKit-747.38/UIDatePicker.m:892
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: date'
Pour les personnes qui rencontrent cela dans le futur: cette assertion est levée lorsque l'instance de 'NSDate' passée à' setDate: 'ou' setDate: animated: 'est en fait' nil'. –