以前、このプロジェクトに関して別の質問をしたことがありますが、Travis は非常に役に立ちました。前の質問
そのアドバイスを念頭に置いて、C4Shape クラスのサブクラスを作成しようとしています。X と Y の位置値のクラスに 2 つのプロパティ (両方とも float) を追加しました。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];
}
これは私が見る警告です:「「 C4Shape self = [customShape rect:frame];
*」から「customeShape * _strong」に割り当てられている互換性のないポインタータイプ」
これを実行しようとするとスローされる実際のエラーは次のとおりです。
前と同じように、色の値を保持できるボタンを作成しています。そのボタンをタップすると、そのボタンの fillColor と iPad の IP を含む UDP パケットが送信されます。