2011-01-14 3 views
3

私は、オンラインリソースをモデル化するオブジェクトを持っています。したがって、私のオブジェクトは、それが属しているリソースのURLを格納しなければなりません。ゲッターとセッターの名前はどのようにしますか?頭文字であるプロパティのObjective-C/Cocoa命名規則はありますか?

MyObject *myObject = [[MyObject alloc] init]; 

// Set values 
[myObject setURL:url]; 
myObject.URL = url; 

// Get values 
[myObject URL]; 
myObject.URL; 

または以下がよいでしょう:

MyObject *myObject = [[MyObject alloc] init]; 

// Set values 
[myObject setUrl:url]; 
myObject.url = url; 

// Get values 
[myObject url]; 
myObject.url; 

前者の例は、当然のことながら、次のようにプロパティを定義するために必要になります。

@property (retain, getter = URL, setter = setURL:) NSURL *url; 

答えて

4

AppleはAcceptable Abbreviations and Acronymsのリストを持っています。ここではURLがリストされています。私はURLを使用し、NSURLRequestNSURLResponseNSPersistentStoreなど(いずれもURLのプロパティを持っています)と一貫しています。

大文字の名前を使用する利点は、キャメルケースでうまくいくということです:anURLanUrl(私の意見では)よりよく見えます。

+0

個人の意見では良く見えるかもしれませんが、 "myUrl"のようなケースは単語の分離を適切に保ちますので、より明確です。 NSURLは痛みを伴わずにこのルールに違反するように普及していますが、その一般的な選択肢は貧弱です。 –

+0

anUrlはanURLより見栄えが良い(私の意見では)。さらに、anUrlは通常のテキストが書き込まれる方法に従います。あなたが本を読むとき、ほとんどすべての単語は冒頭に大文字が1つしかないか、小文字のみで構成されています。そのため、あなたの脳は、一連の大文字を読むよりも、小文字のシリーズを読むほうが優れています。おそらく、anUrlがもっと流暢に下がる一方で、anURLは私が読むのがとても噛んだように感じるでしょう。 –

1

リンゴが使用しています...両方を;)

パターンが移動しているようです。url/setURL:

+0

基本的に私が提案した内容の混合物、そうですか?つまり、 '[myObject url]'ではなく[myObject setURL]です。しかし、ドット表記の意味は、 'myObject.url = ...'または 'myObject.URL = ...' – t6d

+0

'@property(retain、setter = setURL :) NSURL * url; 'obj.url = ...'または '[obj setURL:...];'を許可します。 – d11wtq

+1

いいえ、それは '-URL'と' -setURL'です。 –

関連する問題