2

目標 c の公式 Google スタイル ガイドでは、次のように述べられています。

ドット表記は、Objective-C 2.0 の慣用的なスタイルです。オブジェクトの @property を取得および設定する単純な操作を実行するときに使用できますが、他のオブジェクトの動作を呼び出すために使用しないでください。

以下は、ブラケットを使用するのではなく、プロパティを取得/設定するための推奨される方法です。

NSString *oldName = myObject.name;
myObject.name = @"Alice";

以下は、同じことを行うための推奨されない方法です。

NSArray *array = [[NSArray arrayWithObject:@"hello"] retain];
NSUInteger numberOfItems = array.count;  // not a property
array.release;                           // not a property

ただし、スタイル ガイドによると、count はプロパティではないため、ブラケット表記を使用する必要があります。ただし、 count は実際にはプロパティです。誰でもこれについて検討できますか?

4

1 に答える 1

2

のドキュメントを参照すると、NSArraycount は間違いなくプロパティであることがわかります

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/#//apple_ref/occ/instp/NSArray/count

スタイルガイドに間違いがあったようです。あなたが言ったように、プロパティアクセサーにはドット表記が好まれますが、ゲッターではさらにそうです。 array.count正しい。

ただし、他の言語ではカウントは通常プロパティとして保存されず、メソッドを呼び出してカウントを取得する必要があるため、間違いがあったことは理にかなっています。 NSArray特別です:)

于 2015-04-09T05:07:02.397 に答える