如何将NSObject从NSDictionary转换为NSString?
问题描述:
NSObject *url = [item objectForKey:@"link"];
这是一个NSObject
从NSDictionary
“item”。我需要将NSObject
转换为NSString
。如何将NSObject从NSDictionary转换为NSString?
因为我应该使用url来串。
我该怎么做?
谢谢你的回复。
答
NSString *url = (NSString*)[item objectForKey:@"link"];
答
最大具有正确的铸造语法,但为了安全起见,你会希望做一些在运行时实例检查的,因为它在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
注意,从`id`类型转换是可选的,所以你可以写`的NSString * URL = [项目objectForKey://“链接”]; ` – 2011-02-04 00:36:48