在iOS中,我们有CGContextRef,CGFontRef等。 'Ref'在这里表示什么?它们是否引用CGContext类型的对象,CGFont?我不明白这个特殊的概念。我在哪里可以找到这个概念的解释? 任何有用的帮助,
答案 0 :(得分:3)
据我所知,CGContextRef,CGFontRef等指针类型(typedef)为纯C结构,不为Objective-C对象,它们来自Mac OS的旧C框架X.见CGContext reference,CGFont reference,Core Foundation Design Concepts和Memory Management Programming Guide for Core Foundation。因为那些* Ref对象与Objective-C Cocoa框架是“免费桥接”的,所以你可以在函数参数中替换它们的Cocoa对象,反之亦然(3)。他们有自己的内存管理规则(4)。我自己通过观察Stanford iPhone Programming class videos(参见class' site)获得了对Core Foundation对象和框架的第一个简短但充分的解释。
希望我能给你一些指导。
答案 1 :(得分:1)
Cmd +点击所需类型:
/* The type used to represent a CoreGraphics font. */
typedef struct CGFont *CGFontRef;
有一个结构CGFont
。 typedef 关键字为此结构生成别名CGFontRef
。 'Ref'表示它是指针。