大家好:)我想将一个双倍值保存到NSUserDefault中:
NSUserDefaults *startValues = [NSUserDefaults standardUserDefaults];
[startValues setDouble:[[self.dataList objectAtIndex:indexPath.row]doubleValue] forKey:@"lat"];
[startValues synchronize];
我从Xcode中没有出现错误或警告,但是当我运行代码时,它会与消息崩溃:
-[__NSCFDictionary doubleValue]: unrecognized selector sent to instance
我还尝试将代码拆分为:
double lat = [[self.dataList objectAtIndex:indexPath.row]doubleValue];
[startValues setDouble:lat forKey:@"lat"];
但当然,我得到了同样的错误。问题是什么?
感谢您的时间和帮助:)
答案 0 :(得分:4)
问题是[self.dataList objectAtIndex:indexPath.row]
包含字典。 NSDictionary不理解doubleValue
消息。
你必须以某种方式从字典中提取double值:
NSDictionary *dictionary = self.dataList[indexPath.row];
double value = [dictionary[@"latitude"] doubleValue];
[startValues setDouble:value forKey:@"lat"];