0

the following objective-C code 6.2 ( SDK 8.2) :

   NSArray *the_datums = [[readCSV alloc] read_csv_from_url:fname] ;// is an array of date in Y-M-D H format read from a CSV file
   NSMutableArray *les_dates =  [[NSMutableArray alloc] init];

   for (int i =0 ; i< the_datums.count ; i++){

       NSString *str = [the_datums objectAtIndex:i] ;

       NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
       [dateFormatter setDateFormat:@"yyyy-MM-dd H"];

       NSDate *date = [dateFormatter dateFromString: str];

       dateFormatter = [[NSDateFormatter alloc] init];
       [dateFormatter setDateFormat:@"d"];

       NSString *convertedString = [dateFormatter stringFromDate:date];
       [les_dates insertObject:convertedString atIndex:i];


   }

works if the Iphone/Ipad is not in AM:PM mode(via IOS control panel). BUT if i switch the idevice to AM:PM and relaunch the APP , Xcode throws me stones on my face :

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[__NSArrayM insertObject:atIndex:]: object cannot be nil'

How can NSdateFormatter result change and be nil when user changes the format of the iphone clock ? Is there any explaination ?

Rva
  • 1
  • 1

0 Answers0