Objective c 什么是「;“强度值数组”;CGColorGetComponents()的返回值?

Objective c 什么是「;“强度值数组”;CGColorGetComponents()的返回值?,objective-c,types,Objective C,Types,const CGFloat*CGColorGetComponents(CGColorRef color) 苹果的文档说,CGColorGetComponents()返回一个“强度值”数组。强度值是什么意思?为什么它的返回类型不是数组,而是指向CGFloat的指针?它之所以说“强度值数组”,是因为它不知道数组中的数字是什么意思。它们的意义取决于颜色的颜色空间。例如,如果是灰度颜色空间,则有两个数字:白度和透明度。但如果是RGB颜色空间,则有四个数字,即红色、绿色、蓝色和透明度组件。还有很多其他的可

const CGFloat*CGColorGetComponents(CGColorRef color)

苹果的文档说,
CGColorGetComponents()
返回一个“强度值”数组。强度值是什么意思?为什么它的返回类型不是数组,而是指向
CGFloat
的指针?

它之所以说“强度值数组”,是因为它不知道数组中的数字是什么意思。它们的意义取决于颜色的颜色空间。例如,如果是灰度颜色空间,则有两个数字:白度和透明度。但如果是RGB颜色空间,则有四个数字,即红色、绿色、蓝色和透明度组件。还有很多其他的可能性


它是指向CGFloat的指针的原因是,这是一个C API,在C中,指向CGFloat的指针与CGFloat数组相同。

如果你不知道C,你就不能知道Objective-C。你可能想读我的书,这本书教你足够的C来使用Objective-C。这里是关于数组的部分: