2011-03-10 56 views
1

當使用CFPreferences API在Mac OS X上存儲和檢索每個用戶和機器範圍的應用程序設置時,CFPreferencesCopyAppValue會返回CFPropertyListRef來表示檢索的設置。如何檢查CFPropertyList的類型?

我似乎無法找到允許我安全測試CFPropertyList實際上是CFString的代碼,所以我可以相信結果是我正在尋找的字符串。

什麼是將CFPropertyList對象轉換回CFString/CFNumber/CFWhateverElse的正確方法?

回答

1

可以使用CFGetTypeID功能:

if (CFGetTypeID(myPropertyListRef) == CFStringGetTypeID()) { 
    // it's really a string! 
} 
+0

我一直在尋找一個CFPropertyListGetTypeID。嘖。謝謝。 – 2011-03-10 11:27:22