【问题标题】:Getting an NSString from an NSCFString从 NSCFString 获取 NSString
【发布时间】:2011-06-29 05:53:31
【问题描述】:

我阅读了 S.O 并在 Google 上搜索了一下,但我无法找到我的问题的答案......

我有一个NSDictionary,它返回NSCFString's,我需要一个NSString,这样我就可以使用它的doubleValue 函数。我一生都想不出如何将我的NSCFString's 变成NSStrings。我尝试了以下方法但没有成功:

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

【问题讨论】:

标签: ios objective-c iphone casting


【解决方案1】:

NSCFStringNSString 的私有子类,你可以把它当作一个子类使用。

因为像class clusters 这样的模式,你不应该直接比较这里的类 - 改用-isKindOfClass:

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

【讨论】:

  • @11684:还有更多细节吗?你检查过你真的在处理 NSCFStrings 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-02
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
相关资源
最近更新 更多