[解決済み] 宣言されたプロパティのドット記法とメッセージ記法の比較
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の静的解析器は、ドットが特定のパターンのみに使われているか、他の特定のパターンには使われていないかをチェックできるようにする機能を成長させることが期待できます。
関連
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] プロジェクト内の単一ファイルのARCを無効にするにはどうしたらいいですか?
-
[解決済み] .の違いは何ですか?(ドット)と$(ドルマーク)の違いは何ですか?
-
[解決済み] クラス内の項目の並び順。フィールド、プロパティ、コンストラクター、メソッド
-
[解決済み] YAMLです。YAML の文字列には引用符が必要ですか?
-
[解決済み] JavaScriptのプロパティアクセス:ドット記法とブラケット?
-
[解決済み] ドット". "を使って辞書のメンバーにアクセスするには?
-
[解決済み] 1..__truediv__` とは何ですか?Pythonに.NETはありますか?("dot dot") 記法の構文がありますか?
-
[解決済み] Xcodeでプリプロセッサ・シンボルを定義する方法
-
[解決済み] Objective-Cでの文字列比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Xcodeはクラッシュの原因となる行を表示しない
-
[解決済み] NSURLをローカルファイルのパスに変換する
-
[解決済み] このgdbの出力は何を意味しているのでしょうか?
-
[解決済み] Xcodeがシステムキーチェーンを使用するためにパスワードを要求し続ける
-
[解決済み] Objective-Cで`oneway void`の使用例?
-
[解決済み] Xcodeでプリプロセッサ・シンボルを定義する方法
-
[解決済み] Swiftの変数はアトミックか?
-
[解決済み] フォーマット文字列, 先頭のゼロを含む整数
-
[解決済み] Xcode 4(および依存関係)におけるコンパイル、ビルド、またはアーカイブの問題
-
[解決済み] Objective-CのクラスからSwiftの関数を呼び出す