以下是我的回复
geolocation = {
loc = {
lat = "22.4409980000000004451976565178";
long = "70.0686230000000023210304789245";
};
};
[当我尝试以下代码时,我的应用程序崩溃:
NSNumber* n = [userPin valueForKeyPath:@"geolocation.loc.lat"];
NSLog(@"num is class %@", NSStringFromClass([n class]));
float fCost = [n floatValue];
[打印我的NSStringFromClass
时,我会得到__NSSingleObjectArrayI
。
任何建议如何解决此问题?
猜测userPin
的(运行时)类型是数组,它包含一个元素。当应用于valueForKey:
所基于的数组valueForKeyPath:
时,返回通过将自身应用于数组的每个元素而产生的数组。
如果是这种情况,请在调用之前索引userPin
或处理由调用产生的数组。