iphone - CGColorGetComponents() 返回什么?

标签 iphone cocoa-touch core-graphics uicolor cgcolor

CGFloat* colors = CGColorGetComponents(hsbaColor.CGColor);

它返回一个 float 还是 float 数组?看起来星号是创建数组的简写。这是正确的吗?

当我在 HSB UIColor 对象的 CGColor 属性上调用此函数时,它会将值转换为 RGB 吗?

最佳答案

CGFloat* colors = CGColorGetComponents(hsbaColor.CGColor);

Does this return a float, or an array of floats? It looks like the asterisk is shorthand for creating an array. Is that correct?

有点。

CGFloat *colors声明一个变量,该变量保存指向至少一个 CGFloat 的指针。 CGColorGetComponents返回一个指向多个 CGFloats 的指针,一个接着一个——一个 C 数组。您获取该指针并将其分配给(将指针放入)colors变量。

声明变量不会创建数组。事实上,CGColorGetComponents 也没有。 。无论创建 CGColor 对象,都会创建数组并将其存储在对象内; CGColorGetComponents让您拥有指向该存储的指针。

声明 CGFloat *colors变量仅创建一个位置(变量)来存储指向一个或多个 CGFloats 的指针。变量中的东西是指针,指针处的东西是数组。

如果仍然不清楚,请参阅 Everything you need to know about pointers in C .

关于iphone - CGColorGetComponents() 返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/792119/

相关文章:

iphone - 使用 UIViewAnimationTransitionFlipFromRight 翻转时使 UIView 变暗

iphone - objective-c : a C int array in a class interface?

objective-c - 为什么标准循环失败时快速枚举有效?

iPhone dev - 在 vi​​ewDidLoad 中设置 View 的位置

ios - 有没有办法故意关闭 UIView 的所有抗锯齿?

iphone - 如何为我的应用程序禁用 iphone/ipad 上的所有图标效果,包括光泽效果?

php - 如何用PHP/HTML搜索手机中存储的图片文件?

ios - 为什么 HTTPS NSURLSession 连接每个域只被挑战一次?

ios - 绘图 View 、 subview 还是全部在一起?

iphone - 连续绘制 iPhone 位图对象?我缺少什么?