0

私はChairというクラスを持っています。

タイプ Chair のオブジェクトを含むビュー コントローラがあります。

ある時点で、viewcontrollers インスタンスを Chair オブジェクトの別のインスタンスに割り当てようとしています。

[viewcontroller setChair: thisChair];

私のセッターは次のようになります:

- (void) setChair:(Chair *)thisEntryChair;
{
        myVCChair = thisEntryChair; 
}

このエラーが発生しています:

[setChair:]: unrecognized selector sent to instance 

セッター関数を使用するか、そのまま使用するか、セッターを使用するか:

viewcontroller.myVCChair = thisEntryChair;

このアプローチは、私が持っていると信じている他の変数と同じ方法でそれを行った場合、これは組み込みオブジェクトではなくカスタムオブジェクトであるため、問題があると思いますか?

ヘルプ!

4

2 に答える 2

2

クラス名とフィールド名が同じなのは問題だと思います。メンバー変数などの名前を変更して、aChair機能するかどうかを確認してください。次に、より好きな名前を選択できます。

質問の編集に基づく更新:

独自のセッターが必要な場合は、@synthesize を使用しないでください。セッターには名前を付ける必要があります

 -(void) setmyVCChair: (Chair*) aChair {
     myVCChair = aChair;
 }

次に、使用できますviewcontroller.myVCChair = anotherChair

于 2010-07-29T02:02:09.250 に答える
0

あなたの例では、コードは次のようになります。

[viewcontroller setChair:somechair];

また

viewcontroller.chair = someChair;

内部クラス ivar myVCChair は公開されていません。

于 2010-07-29T02:06:58.420 に答える