如何将NSObject从NSDictionary转换为NSString?

如何将NSObject从NSDictionary转换为NSString?

问题描述:

NSObject *url = [item objectForKey:@"link"]; 

这是一个NSObjectNSDictionary“item”。我需要将NSObject转换为NSString如何将NSObject从NSDictionary转换为NSString?

因为我应该使用url来串。

我该怎么做?

谢谢你的回复。

NSString *url = (NSString*)[item objectForKey:@"link"]; 
+5

注意,从`id`类型转换是可选的,所以你可以写`的NSString * URL = [项目objectForKey://“链接”]; ` – 2011-02-04 00:36:48

最大具有正确的铸造语法,但为了安全起见,你会希望做一些在运行时实例检查的,因为它在Objective-C的编译时是无法保证的类型在一个数组或字典的对象是你期待什么:

NSObject *obj = [item objectForKey:@"link"]; 
if ([obj isKindOfClass:[NSString class]]) { 
    NSString *stringValue = (NSString *)obj; 
    // Do something with the NSString 
} else { 
    // You can alternatively raise an NSException here. 
    NSLog(@"Serious error, we expected %@ to be an NSString!", obj); 
} 
+0

请注意,来自`id`的类型转换是可选的,因此您可以编写`NSString * stringValue = obj;` – 2011-02-04 00:37:25