0

以下 Objective-C 代码 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];


   }

如果 Iphone/Ipad 不处于 AM:PM 模式(通过 IOS 控制面板),则可以工作。但是,如果我将 idevice 切换到 AM:PM 并重新启动 APP,Xcode 会在我脸上扔石头:

* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[__NSArrayM insertObject:atIndex:]: object cannot be nil”

当用户更改 iphone 时钟的格式时,NSdateFormatter 结果如何更改并为零?有什么解释吗?

4

0 回答 0