2016-04-18 34 views
0

レッツは、私はこのようなクラスがあるとします。ローカルパラメータラベルの命名規則

class Foo { 

    private let userId: String 

    init(userId givenUserId: String) { 
     userId = givenUserId 
    } 
} 

私は上記のような初期化子(または機能)を持って、ものはいくつかの内部変数を設定するように、私は彼らが好き可能な限り記述的な外部パラメータ名を持つこと。一方、内部クラスの実装では同じ名前を使用することも有効です。しかし、私はいくつかのローカルパラメータラベルを使用しなければなりません、そして、私がそれをする方法は、外部パラメータラベルの前に接頭辞 "given"を追加することです。これを行うには良い方法ですか、問題を解決するためのより良い方法やコンベンションがありますか?

答えて

4

スウィフトイニシャライザでは、プロパティ名と同じローカルラベルを使用できます。 self.という表記法を使用すると、コンパイラは単純な割り当てにどの表を使用するかを自動的に判断します。そうすれば、外部パラメータを表現することができ、外部パラメータ・ラベルと内部パラメータ・ラベルの両方を定義する負担を軽減できます。

class Foo { 

    private let userId: String 

    init(userId: String) { 
     self.userId = userId 
    } 
} 
+0

おかげで、raywenderlich.comスウィフトスタイルガイドでその – pkacprzak

1

曖昧であることを避けるために、あなたがそのようなあなたのクラスを記述することができます。

class Foo { 

    private let userId: String 

    init(userId userId: String) { 
     self.userId = userId 
    } 
} 

自己キーワードは、自動的に内部VARがかかります。

あなたは良いコーディングスタイルを持ってする方法についていくつかの精度が必要な場合、私はあなたをお勧めします。swift-style-guide

+0

グッドコールについて知らなかった、それがによく一致しました多くのSwiftプログラマーが従うスタイル。 – ColGraff