如何将(id)参数转换为属性列表对象?

时间:2011-12-13 17:29:55

标签: ios

我的应用程序是通过URL启动的,我已经添加了以下方法,将在启动时调用:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

注释被描述为源应用程序提供的属性列表对象。我想检查内容以查看源应用程序提供的信息/数据。我怎么能这样做?

谢谢

1 个答案:

答案 0 :(得分:2)

无需将annotation变量从id转换为其他内容。只需调用对象支持的任何方法即可。

Property lists可以是数组,字典,字符串,数字,布尔值,日期和数据。

要查找属性列表的类型:[annotation className][annotation class][annotation classCode]

所有属性列表都符合descriptionvalueForKey方法。

// Retrieve the contents of a property list as a string.
NSString *contents = [annotation description]
NSLog(@"%@", contents);