我已經問過關於這個項目的另一個問題,而特拉維斯是超級有用的。 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