我已经问过关于这个项目的另一个问题,而特拉维斯是超级有用的。 Previous questionC4Shape自定义子类初始化问题?
考虑到这个建议,我正在尝试为C4Shape类创建一个子类,我为这个类添加了2个属性(两个浮点数)用于X和Y位置值。我不只是调用C4Shape的.center属性的原因是因为要将它们添加到画布中,我倾向于使用左上角而不是中心。
我想为这个新类写一个自定义的Init方法,但是我得到一个错误。
这是自定义初始化代码我的工作:
customShape.m
- (id)initWithColor:(UIColor *)fillColor atX:(float)_xValue atY:(float)_yValue
{
CGRect frame = CGRectMake(_xValue, _yValue, 100, 100);
self = [customShape rect:frame];
self.lineWidth = 0.0f;
self.fillColor = fillColor;
self.xValue = _xValue;
self.yValue = _yValue;
return self;
}
C4WorkSpace.m
-(void)setup {
customShape *testShape = [[customShape alloc]initWithColor:[UIColor greenColor] atX:50.0f atY:50.0f];
[self.canvas addShape:testShape];
}
我怀疑罪魁祸首是self = [customShape rect:frame];
这是警告我看到:“不兼容的指针类型从'C4Shape *'分配给'customeShape * _strong'”
,当我尝试运行此获取引发实际的错误是:“终止应用程序由于未捕获的异常‘NSInvalidArgumentException’,原因是:‘ - [C4Shape setXValue:]:无法识别的选择发送到实例0x9812580’”
由于在我制作可以保存颜色值的按钮之前,当您点击该按钮时,它会发送一个带有fillColor按钮以及iPad IP的UDP数据包。
非常感谢你特拉维斯! – BardiaD 2013-05-06 04:24:30
没问题!保持提问。 – 2013-05-06 15:32:01