如何将NSTextField 1的值分配给r NSTextField 2

时间:2013-03-29 18:50:11

标签: nstextfield

我正在阅读一本书,并在示例代码中展示了如何将NSTextField的值分配给另一个NSTextField,如下所示:

self.theStory.text = self.theTemplate.text;

当我尝试不使用Dot Notation时也这样做:

 [[self theStory]text] = [[self theTemplate]text];

我收到以下错误: 表达式不可分配。

我是Objective-C的新手,我们将不胜感激。

3 个答案:

答案 0 :(得分:0)

这样的事情:

[[self theStory] setText:[[self theTemplate]text]]

答案 1 :(得分:0)

当您使用括号而不是点时,您需要使用setter方法的全名,然后删除=

[[self theStory] setText:[[self theTemplate] text]];

根据我的经验,Dot符号最好用于设置或获取状态,通过编写或读取属性或键路径(键路径是一系列方法,例如self.datamodel.members.count)。当您执行某种操作时,括号表示法是更好的选择。在某些情况下,可以对没有参数的方法使用点表示法,但这会使代码混乱。例如,如果我有一个NSTimer实例myTimer,我会使用[myTimer fire],而不是myTimer.fire

答案 2 :(得分:0)

那是因为你不能这样做。点表示法有两个等价物,“名称”形式和“setName:”形式。您使用[[self theStory] setText:[[self theTemplate] text]];