从NSCFString获取NSString

我读了一遍,做了这个谷歌这一点点,但我无法find我的问题的答案…

我有一个NSDictionary是返回NSCFString's ,我需要的是一个NSString,所以我可以使用它的doubleValue函数。 我不能为我的生活弄清楚如何把我的NSCFString的成为NSString s。 我试过以下没有成功:

 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 

NSCFStringNSString一个私有子类,你可以把它作为一个整体使用。

由于像类集群这样的模式,您不应该直接在这里比较类 – 使用-isKindOfClass:相反:

 if ([lng_coord isKindOfClass:[NSString class]]) { // ...