Getters / Setters /将一个对象分配给另一个

时间:2010-07-29 01:58:39

标签: iphone xcode setter getter

我有一个名为Chair的课程。

我有一个包含Chair类型对象的视图控制器。

在某些时候,我正在尝试将我的viewcontrollers实例分配给另一个Chair对象的实例:

[viewcontroller setChair: thisChair];

我的二传手看起来像这样:

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

我收到此错误:

[setChair:]: unrecognized selector sent to instance 

我是使用setter函数还是使用setter函数或使用setter:

viewcontroller.myVCChair = thisEntryChair;

这种方法,如果我以与我认为的其他变量相同的方式完成它,我认为是有问题,因为这是一个自定义对象而不是内置对象?

帮助!

2 个答案:

答案 0 :(得分:2)

我认为类名和字段名相同可能是个问题。尝试重命名您的成员变量aChair或其他东西,看它是否有效。然后你可以选择一个你更喜欢的名字。

基于问题编辑的更新:

如果你想要自己的setter,不应该使用@synthesize。应将setter命名为

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

然后您可以使用viewcontroller.myVCChair = anotherChair

答案 1 :(得分:0)

所以在你的例子中代码是:

[viewcontroller setChair:somechair];

viewcontroller.chair = someChair;

内部类ivar myVCChair未公开。