从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
NSCFString
是NSString
一个私有子类,你可以把它作为一个整体使用。
由于像类集群这样的模式,您不应该直接在这里比较类 – 使用-isKindOfClass:
相反:
if ([lng_coord isKindOfClass:[NSString class]]) { // ...