由于我似乎无法找到有关此主题的任何文档,是否可以创建自己的Core Foundation“类”? (可以与CFRetain()和CFRelease一起使用的类)我想利用Core Foundation内置的多态功能和对象检查,而不需要Objective-C的开销或创建我自己的对象层次结构。
答案 0 :(得分:4)
预先警告:我认为如果没有加载Objective-C,Core Foundation没有真正的继承,并且加载了Objective-C,无论如何都会得到(次要)相关的减速。
可能没有任何关于它的文档,但它可能是可能的。它肯定不会干净。尝试浏览CF-Lite source code(链接适用于Mac OS X 10.5.7),以了解框架的实现。
请注意,如果您提到的Objective-C的开销是消息调用的开销,那么有很多方法可以对其进行优化(例如,-instanceMethodForSelector:
方法)。您尝试优化Objective-C代码以提高速度时,很可能会花费更多时间来尝试蠕虫进入Core Foundation框架。
答案 1 :(得分:0)
从技术上讲,没有Core Foundation课程。它们是不透明的类型。