Tôi muốn lặp qua CFDictionary (CFPropertyList) và nhận tất cả các giá trị ở một mức cụ thể.Cách liệt kê các phím CFProperyList/CFDictionary
Đây sẽ là từ điển của tôi/bất động sản-list:
root
A
foo
0
bar
0
B
foo
10
bar
100
C
foo
20
bar
500
Sử dụng ObjC nó sẽ giống như thế này:
//dict is loaded with the dictionary below "root"
NSDictionary *dict = [...];
NSEnumerator *enumerator = [dict keyEnumerator];
NSString *key;
while (key = [enumerator nextObject])
{
NSLog(key);
};
Và nó sẽ in ra một danh sách các phím ra cửa sổ Console như này:
A B C
Làm thế nào để bạn đạt được điều này khi sử dụng C/C++ ở cấp độ CoreFoundation?
Cảm ơn bó - đó đã làm các công việc. – Till
Phương thức CFDictionaryGetKeysAndValues lấy một con trỏ tới một con trỏ tới một mảng các khóa. Tại sao, sau đó, bạn không vượt qua địa chỉ của "keysTypeRef" con trỏ (mà sẽ là một con trỏ đến con trỏ đó)? – erikprice
'CFDictionaryGetKeysAndValues' lấy một con trỏ tới một mảng con trỏ (' void ** '), không phải là một con trỏ tới một con trỏ tới một mảng con trỏ (' void *** '). Hãy nhớ rằng, 'CFTypeRef' chính nó là một con trỏ. –