CoreFoundation 和一般指针

CoreFoundation and general pointers

简单的问题。我似乎觉得 CoreFoundation 并不是真正为处理而设计的,例如,指向结构(包含 CF 对象)的指针。 CFArrayAppendValue 将采用任何指针值来追加,但如果我尝试 CFShow 它会出现段错误。

我还注意到没有 CFTypeID 裸指针,尽管您可能会争辩说您可以通过其他 CF 类型的耗尽来检测裸指针,但这很痛苦。

我的印象正确吗?我应该尽可能使用 CF 类型并避免将 CF 与非 CF 事物混合使用吗?

如果我想使用结构体,我是否应该改用 CFDictionary 之类的东西?

我不认为 CoreFoundation 容器旨在用于存储 CoreFoundation 对象以外的任何内容。常规 C 结构之间的任何桥接都可以通过 CFData 对象和包装器方法完成(另请参见 http://www.cocoabuilder.com/archive/cocoa/22246-implementing-new-corefoundation-types.html)。