我在一周前下载了CorePlot,并已包含在我的一个MAC应用程序项目中。在Debug中一切正常,但是当我尝试使用Distribution构建它时,它失败并出现此错误“initWithFrame的参数1的不兼容类型”
这是它正在发生的地方......
pieChart = [[CPXYGraph alloc] initWithFrame:CGRectZero];
答案 0 :(得分:1)
如果这适用于Mac OS X应用程序,与UIKit不同,Application Kit通常采用NS *结构中的几何体。所以,你需要NSZeroRect,而不是CGRectZero。此外,当您生成这些结构时,您将需要使用宏NSMakeRect(x, y, w, h)
而不是CoreGraphics CGRectMake(x, y, w, h)
。
答案 1 :(得分:0)
CPXYGraph
是CALayer
,因此CGRectZero
是正确的。问题是不止一个类有-initWithFrame:
方法。 +alloc
返回id
,因此编译器不知道要选择哪个类,有时它会选择错误的类。您可以使用类型转换解决此问题,如下所示:
pieChart = [(CPXYGraph *)[CPXYGraph alloc] initWithFrame:CGRectZero];