我是媒体图层和照片图层的新手,让我感到困惑的是,有很多像CGImageRef
和CMSampleBufferRef
这样的对象,我不会这样做。知道为什么苹果让我们使用" XXXRef"等对象。不是" XXX"?我知道必须有一些理由,但我不知道,有谁可以告诉我为什么?
更新:
我的意思是,为什么苹果要我们CGImageRef
而不是像CGImage *theCGImage
那样自己创建Ref?
答案 0 :(得分:4)
实际上,你应该向Core Foundation的作者询问它=)
CGImage是一个C结构。这意味着,每次作为参数或返回值传递时都会复制它。或者,甚至被分配给某个变量。 我想像CGImage这样的东西很重要。所以,只需将指针传递给它就好了。
我认为,这个决定背后的真正原因要复杂得多,与参考计数器,CF和基金会对象之间的桥接等等有关。