我有一个返回 CFTypeRef 的函数。我不知道它究竟是什么。我该如何确定?例如,它可能是 CFStringRef 。
答案 0 :(得分:17)
if (CFGetTypeID(myObjectRef) == CFStringGetTypeID()) {
//i haz a string
}
答案 1 :(得分:9)
答案 2 :(得分:0)
如果您想了解开发过程中CFTypeRef
的类型,可以使用以下代码段。
printf("CFTypeRef type is: %s\n",CFStringGetCStringPtr(CFCopyTypeIDDescription(CFGetTypeID(myObjectRef)),kCFStringEncodingUTF8));
这将打印该类型的可读名称,以便您知道它是什么。但Apple并不保证他们会保持这些描述一致,所以不要在生产代码中使用它。 (因为片段会泄漏内存,但你只应该在开发过程中使用它,所以谁在乎呢)。