objective-c - 从 CFDictionary 获取值

标签 objective-c cocoa xcode macos

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

 CFTypeRef r = IOPSCopyPowerSourcesInfo();
 CFArrayRef array = IOPSCopyPowerSourcesList(r);
 CFDictionaryRef powerDic = IOPSGetPowerSourceDescription(array, r);

我看了文档加上other posts ,但是如何工作它有点超出我的范围。

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

最佳答案

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

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

如果(出于某种原因)你需要保持在 CoreFoundation 级别(这并非闻所未闻),你会使用类似 CFDictionaryGetValue() 的东西.

关于objective-c - 从 CFDictionary 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3195203/

相关文章:

iphone - Objective-C 类实例在分配时归零?

cocoa - 向 Cocoa 标签添加阴影(凹陷文本效果),而不降低文本渲染质量

xcode - 调整 ImageView 大小以适合图像,而不是其他方式

xcode - iOS 9 : SecItemCopyMatching returns successful status code but key is nil

xcode - ibtool 失败,异常 : Some Object IDs were duplicated

ios - UITextView 调用上一个号码

iphone - NSFetchedResultsController 和 BAD_ACCESS

ios - UIControlEventTouchDragOutside 实现的问题

macos - 云Kit错误: Not Authenticated on Mac but I'm Signed In

xcode - 在主菜单中放置一个窗口 xCode