从CFDictionary获取值

时间:2010-07-07 13:35:58

标签: objective-c cocoa xcode macos

我是Objective-C编程的新手,想知道我是否能得到一些帮助。

我正在尝试访问CFDictionary中的值。我已经开始实现this question

中建议的代码了
 CFTypeRef r = IOPSCopyPowerSourcesInfo();
 CFArrayRef array = IOPSCopyPowerSourcesList(r);
 CFDictionaryRef powerDic = IOPSGetPowerSourceDescription(array, r);

我查看了文档加other posts,但是如何使用它还有点超出我的意义。

我真正需要的是一些示例代码,它采用我已有的代码并使用它来打印一串字符串,例如“当前容量”。

任何帮助?

1 个答案:

答案 0 :(得分:12)

CFDictionaryRefNSDictionary“免费桥接”。这意味着您可以互换地将一个投射到另一个。换句话说:

...
NSDictionary * powerDic = (NSDictionary *)IOPSGetPowerSourceDescription(array, r);
NSString * aValue = [powerDic objectForKey:@"aKey"];

如果(出于某种原因)你需要保持CoreFoundation级别(这是闻所未闻的),你可以使用像CFDictionaryGetValue()这样的东西。