gpt4 book ai didi

iphone - 将字符串转换为 NSDate 问题 : [__NSDate Length] unrecognized selected

转载 作者:技术小花猫 更新时间:2023-10-29 10:43:07 25 4
gpt4 key购买 nike

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);

我收到以下错误的任何想法:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDate length]: unrecognized selector sent to instance 0x6ca0c60'

最佳答案

您收到该错误是因为您将 NSDate 对象传递给 dateFromString:

添加一个NSLog,你会看到:

NSString *inputString = [self.measurements objectAtIndex:indexNumber.row];
if ([inputString isKindOfClass:[NSDate class]]) {
NSLog(@"inputString is of type NSDate");
}

此外,这里是重现错误的方法:

NSString *inputString = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDate *date = [dateFormatter dateFromString:inputString];

这意味着数组 self.measurements 包含 NSDate 对象而不是 NSString 对象。


当您更正当前问题时,您可能会遇到一个新问题,因为您没有使用正确的日期格式。要解析类型的日期字符串:2012-03-09 23:00:00 +0000,您应该使用以下日期格式:

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zz"];

关于iphone - 将字符串转换为 NSDate 问题 : [__NSDate Length] unrecognized selected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com