我在S.O周围阅读并对谷歌做了一点点但是我无法找到问题的答案...
我有NSDictionary
返回NSCFString's
,我需要的是一个NSString,以便我可以使用它的doubleValue函数。我不能为我的生活弄清楚如何将我的NSCFString
变为NSString
。我试过以下但没有成功:
NSString* lng_coord = (NSString*)[dict objectForKey:key];
if ([lng_coord class] == [NSString class])
NSLog(@"lng coord is an exact match with NSString class");
else {
NSLog(@"lng coord doesn't match NSString class");
NSLog(@"The class of lng_coord is %@", [[dict objectForKey:key] class]);
}
NSLog(@"%@", lng_coord);
[CelebsAnnotation setLongitude:[lng_coord doubleValue]];
这是控制台的输出:
lng coord doesn't match NSString class
The class of lng_coord is NSCFString
49.2796758
答案 0 :(得分:12)
NSCFString
是NSString
的私有子类,您只需将其用作一个。
由于像class clusters这样的模式,你不应该直接比较这里的类 - 改为使用-isKindOfClass:
:
if ([lng_coord isKindOfClass:[NSString class]]) {
// ...