Получение значений от CFDictionary

Я пытаюсь получить доступ к значениям от CFDictionary. Я запустил путем реализации кода, предложенного в этом вопросе:

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

Я посмотрел на документацию плюс другие сообщения, но это немного вне меня, как работать он.

То, в чем я действительно нуждаюсь, является некоторым примером кода, который берет код, который я уже имею, и использует его для печати строки, например, "Токовая нагрузка".

6
задан Jon Schneider 17 November 2019 в 23:52
поделиться

1 ответ

CFDictionaryRef является «бесплатным мостом» с NSDictionary . Это означает, что вы можете заменять одно на другое взаимозаменяемо. Другими словами:

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

Если (по какой-то причине) вам нужно оставаться на уровне CoreFoundation (что не является чем-то необычным), вы должны использовать что-то вроде CFDictionaryGetValue () .

14
ответ дан 8 December 2019 в 17:18
поделиться