我阅读了有关 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
最佳答案
NSCFString
是 NSString
的私有(private)子类,您可以将其作为一个子类使用。
因为像 class clusters 这样的模式, 你不应该直接比较这里的类 - 使用 -isKindOfClass:
相反:
if ([lng_coord isKindOfClass:[NSString class]]) {
// ...
关于ios - 从 NSCFString 获取 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6516293/