Bam*_*ano 11 iphone objective-c nsdateformatter ios
indexNumber.row是一个像日期2012-03-09 23:00:00 +0000.我尝试了一些不同的方法让我的日期进入NSDate,但我一直得到标题错误.
NSString *inputString = [self.measurements objectAtIndex:indexNumber.row];
// Convert string to date object
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:inputString ];
NSLog(@"date format is: %@", date);
Run Code Online (Sandbox Code Playgroud)
任何想法,为什么我收到以下错误:
因未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [__ NSDate length]:无法识别的选择器发送到实例0x6ca0c60'
sch*_*sch 28
您收到该错误是因为您正在传递NSDate对象dateFromString:.
添加一个NSLog,你会看到:
NSString *inputString = [self.measurements objectAtIndex:indexNumber.row];
if ([inputString isKindOfClass:[NSDate class]]) {
NSLog(@"inputString is of type NSDate");
}
Run Code Online (Sandbox Code Playgroud)
此外,以下是如何重现您的错误:
NSString *inputString = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDate *date = [dateFormatter dateFromString:inputString];
Run Code Online (Sandbox Code Playgroud)
这意味着数组self.measurements包含NSDate对象而不包含NSString对象.
当您更正当前问题时,您可能会遇到一个新问题,因为您没有使用正确的日期格式.要解析类型的日期字符串:2012-03-09 23:00:00 +0000您应使用以下日期格式:
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zz"];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10202 次 |
| 最近记录: |