1. ホーム
  2. objective-c

[解決済み] 宣言されたプロパティのドット記法とメッセージ記法の比較

2023-08-02 07:48:22

質問

現在、プロパティに "dot" という記法があります。 これまで、さまざまな バック で、ドット表記とメッセージ表記のメリットについて質問されています。 回答を汚さないために、私は質問の中でどちらにも答えるつもりはありません。

プロパティアクセスのドット記法とメッセージ記法について、どのようにお考えでしょうか?

Objective-CはObjective-Cなので、JavaやJavaScriptのようにしたいという希望は無効です。

有効なコメントは、技術的な問題(操作の順序、キャストの優先順位、パフォーマンスなど)、明確さ(構造対オブジェクトの性質、賛成と反対の両方!)、簡潔さなどに関係するものです。

注:私は、コード規約と品質が最優先される巨大プロジェクト (一度書いたら何度でも読むパラダイム) で働いてきた経験から、コードにおける厳格な品質と可読性の学派に属しています。

どのように解決するのですか?

動作にドットを使用しないでください。属性のようなもの、一般的にはプロパティとして宣言された属性にアクセスまたは設定するためにドットを使用します。

x = foo.name; // good
foo.age = 42; // good

y = x.retain; // bad

k.release; // compiler should warn, but some don't. Oops.

v.lockFocusIfCanDraw; /// ooh... no. bad bad bad

Objective-Cの初心者には、@propertyとして宣言されたもの以外にはドットを使わないことをお勧めします。 一度、言語の感触をつかんだら、正しいと思うことをやってください。

例えば、私は以下のように完全に自然だと思います。

k = anArray.count;
for (NSView *v in myView.subviews) { ... };

clangの静的解析器は、ドットが特定のパターンのみに使われているか、他の特定のパターンには使われていないかをチェックできるようにする機能を成長させることが期待できます。