Me gustaría iterar a través de CFDictionary (CFPropertyList) y obtener todos los valores en un nivel específico.Cómo enumerar claves CFProperyList/CFDictionary
Esto sería mi diccionario/propiedad lista:
root
A
foo
0
bar
0
B
foo
10
bar
100
C
foo
20
bar
500
Usando ObjC se vería algo como esto:
//dict is loaded with the dictionary below "root"
NSDictionary *dict = [...];
NSEnumerator *enumerator = [dict keyEnumerator];
NSString *key;
while (key = [enumerator nextObject])
{
NSLog(key);
};
Y sería imprimir una lista de claves a la consola como esto:
A B C
¿Cómo se consigue esto cuando usando C/C++ en el nivel de CoreFoundation?
gracias un montón - que hizo el trabajo. – Till
El método CFDictionaryGetKeysAndValues toma un puntero a un puntero a una matriz de teclas. ¿Por qué, entonces, no pasa la dirección del puntero "keysTypeRef" (que sería un puntero a ese puntero)? – erikprice
'CFDictionaryGetKeysAndValues' toma un puntero a una matriz de punteros (' void ** '), no un puntero a un puntero a una matriz de punteros (' void *** '). Recuerde, 'CFTypeRef' en sí mismo es un puntero. –