Ios 为什么CGFloat有CG前缀而不是NS前缀?
我搜索了CGFloat,发现它只是一个typedef,就像NSInteger和NSInteger一样。但我想知道为什么它有CG前缀,即核心图形 因为Obj-C只有一个名称空间,为了避免名称空间冲突,全局对象和结构都附加了前缀。苹果保留使用所有两个字符前缀的权利,而三个或三个以上的字母前缀可供公众使用。由于Ios 为什么CGFloat有CG前缀而不是NS前缀?,ios,prefix,scalar,cgfloat,Ios,Prefix,Scalar,Cgfloat,我搜索了CGFloat,发现它只是一个typedef,就像NSInteger和NSInteger一样。但我想知道为什么它有CG前缀,即核心图形 因为Obj-C只有一个名称空间,为了避免名称空间冲突,全局对象和结构都附加了前缀。苹果保留使用所有两个字符前缀的权利,而三个或三个以上的字母前缀可供公众使用。由于CGFloat是在Core Graphics库中实现的,因此它使用CG前缀。请参阅苹果的文档,了解Obj-C惯例:,因为它是核心图形库的一部分,而不是Cocoa。它代表核心图形。该框架是一个基于
CGFloat
是在Core Graphics
库中实现的,因此它使用CG前缀
。请参阅苹果的文档,了解Obj-C
惯例:,因为它是核心图形库的一部分,而不是Cocoa。它代表核心图形。该框架是一个基于C的API,基于Quartz advanced绘图引擎。如您所知,typedefCGFloat
是在CoreGraphics
框架中定义的,因此它的前缀是“CG”
。然而,typedefNSInteger
是在
中定义的,它被用作基础框架,它来自NextSTEP
,是Cocoa
的前身
Apple SDK的命名符号
将其框架的首字母
作为所有类
的前缀,例如地址簿
框架中定义的ABPersonViewController
。请参见: