2017-10-25 10 views
1

からクラスのVARを使用した場合の違いは、あなたがこのような声明作る際にいただきましたクラス名を省略:同じクラス

self.view.backgroundColor = UIColor.white 

と、この:

self.view.backgroundColor = .white 

view.backgroundColorコールクラスのVARをいをあなたが変数の型のためにそれを省略すると、白や敏感なUIColorは暗黙のことですか?また、これらの種類の声明に関する条約は何ですか?

答えて

1

スウィフトは、コンテキストからタイプを推論できます。このステートメントでは、コンパイラはself.view.backgroundColorUIColorであることを認識しています。クラスメソッドまたはプロパティ.whiteを呼び出すと、自動的にUIColor.whiteが呼び出されます。

慣例では、2番目の使用法が使用されています。これは、皆さんが理解できるように、短く説明的です。

1

読みやすさに違いがあります。コンパイラは、backgroundColorの型にいくつかのチェックを行い、UIColorを決定するので、型推論を使用してUIColor.whiteを取得し、割り当てます。

標準的な規則では、多くの人が短い型の誤りを使用しますが、特にカスタム型を使用しているときに他にどのような値が存在するのか判断するのが難しい場合があります。私は完全修飾された変数を使用するので、私のコードは次のようになります。

view.backgroundColor = UIColor.white 

私はそれがはるかに読みやすいと信じています。