更新到XCode 5.1后出现错误

时间:2014-03-24 11:48:04

标签: ios objective-c xcode compiler-errors

PCSEQAudioBar

嗨,我正在开发一个使用PCSEQAudioBar的应用程序,它在 Xcode 5.0.2 上工作正常,并在将其更新为 5.1 之后,突然间我开始收到此错误..不再我无法编译我的代码或部署它或任何东西......

Incompatible pointer types passing retainable parameter of type 'CFArrayRef' (aka 'const struct __CFArray *')to a CF function expecting 'const CGFloat *' (aka 'const float *') type

我在这一行上收到了这个错误...

CGGradientRef _gradientRef = CGGradientCreateWithColorComponents(rgb, (__bridge CFArrayRef) colors, NULL, sizeof(colors) / (sizeof(colors[0]) * 4));

请帮助......提前致谢..

1 个答案:

答案 0 :(得分:3)

您需要传递CGFloat数组,而不是NSArray

例如:

static const CGFloat colors [] = { 
    0.894, 0.894, 0.894, 1.0, 
    0.694, 0.694, 0.694, 1.0
};

有关Apple docs的此API的更多信息,

  

此数组中的项目数应为count的乘积和颜色空间中的组件数。例如,如果颜色空间是RGBA颜色空间,并且您希望在渐变中使用两种颜色(一种用于起始位置,另一种用于结束位置),则需要在组件中提供8个值 - 红色,绿色,蓝色和第一种颜色的Alpha值,后跟第二种颜色的红色,绿色,蓝色和Alpha值。

相关问题