0

私は本を​​読んでいて、サンプルコードでは、次のように NSTextField の値を別の NSTextField に割り当てる方法を示しています。

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

ドット表記を使用せずに同じことをしようとすると:

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

次のエラーが表示されます: 式は割り当てられません。

私はObjective-Cが初めてなので、助けていただければ幸いです。

4

3 に答える 3

0

このようなもの:

[[self theStory] setText:[[self theTemplate]text]]
于 2013-03-29T18:52:24.267 に答える
0

ドットの代わりに括弧を使用する場合は、セッター メソッドの完全な名前を使用し、=.

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

私の経験では、ドット表記は、プロパティまたはキーパスを書き込んだり読み取ったりして、状態を設定または取得するのに最適です (キーパスは、たとえば、メソッドのチェーンですself.datamodel.members.count)。ある種のアクションを実行する場合は、ブラケット表記の方が適しています。パラメーターのないメソッドにドット表記を使用できる場合もありますが、これはコードを混乱させます。たとえば、インスタンスがあるNSTimer場合、ではなくmyTimerを使用します。[myTimer fire]myTimer.fire

于 2013-03-29T18:53:48.050 に答える
0

それができないからです。ドット表記には、"name" 形式と "setName:" 形式の 2 つの等価物があります。を使用します[[self theStory] setText:[[self theTemplate] text]];

于 2013-03-29T18:54:01.213 に答える