こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

object-cでsetの後ろにプロパティ名が?

object-cのカテゴリが無いのでこちらで質問です。

[curitem setQuestion:line];
という記述が本に載っていたのですがsetQuestionの意味が分かりません。

Questionは、ほかの.hファイルで
@property (retain, nonatomic) NSString *question;
と書かれているのでプロパティだと想像しています。

プロパティ名にsetをつける文法があるのでしょうか?
本を4冊調べて、ぐぐりもしましたがわかりません。

申し訳ございませんが教えてください。



***補足***
curItem
というのは少し前の行で
QuizItem curItem = nil;
と書かれています。

投稿日時 - 2011-05-04 11:09:44

QNo.6713062

困ってます

質問者が選んだベストアンサー

> [curitem setQuestion:line]; という記述は
> crritem.question = line; と全く同じ意味になる。

大雑把にいえばYES。細かいこと言えばNo。
ANo.1もしくはANo.2のリンクをたどって、Appleのリファレンスをご覧ください。
同じにならない場合が書かれてます。

あとここらへんあたり読まれると役立つかも:

http://journal.mycom.co.jp/column/objc/101/

In ANo.2, Tacosan wrote:
> もともと setter は「setほにゃらら」という名前であり,
> Objective-C 2.0 になって「ドットでアクセスできる」ようになった

そのとおりです。「正統」っていうのは、Objective-Cの基礎となるのはメッセージ式([obj ...]のやつ)であるって意味合い程度です。

投稿日時 - 2011-05-07 00:05:54

お礼

英語サイトを理解するために時間がかかりお礼が遅くなりました。
リンクの紹介をありがとうございました。

投稿日時 - 2011-05-23 07:46:29

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

「正統」というか, もともと setter は「setほにゃらら」という名前であり, Objective-C 2.0 になって「ドットでアクセスできる」ようになったんじゃありませんでしたっけ>#1.

参考URL:http://developer.apple.com/jp/documentation/cocoa/conceptual/objectivec/Articles/chapter_5_section_1.html

投稿日時 - 2011-05-06 16:02:55

お礼

ありがとうございます!

投稿日時 - 2011-05-23 07:47:32

ANo.1

>プロパティ名にsetをつける文法があるのでしょうか?

あります。というか、こっちが正統。
多分、Objective-Cの解説本ならたいてい書いてあるかと。
iPhoneプログラミングを目的としただけの本なら、書いてないかもしれませんが。

参考
http://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocObjectsClasses.html#//apple_ref/doc/uid/TP30001163-CH11-SW17

投稿日時 - 2011-05-04 11:51:30

補足

ご回答ありがとうございます。

英語サイトのため、理解に時間がかかってしまいました。

私が解釈した結果は、下記の通りですが
もし正解かどうかおわかりでしたら書き込んでいただけると助かります。



[curitem setQuestion:line]; 
という記述は

crritem.question = line;
と全く同じ意味になる。


というように解釈いたしました。

投稿日時 - 2011-05-06 14:31:34

あなたにオススメの質問