2016-08-05 10 views
2

Swiftで開発を開始し、言語に関するさまざまなチュートリアルやドキュメントを検索し始めたとき、私は1つのことについてよく分かりません。 次のような特定のデータ型とオブジェクト/値を宣言することができます。スイフト。いつ特定のデータ型を持つオブジェクト/値を定義する必要がありますか

var aString:String = "Test" 
var anObject:SKScene = ASceneClass() 

それとも、このようにそれを単に行うことができます。

var aString = "Test" 
var anObject = ASceneClass() 

結果はまったく同じ(ASceneClassから継承されますSKSceneもちろん)

誰もが違うことをしているので、論理的な理由があるのか​​、読みやすさのためにそれをするのだろうか?迅速で変数を宣言する

答えて

1

変数名は、あなたがいることをしないときは、あなたは、初期値に多くの場合、値はその時点で知られていない

var aString = "Test" 

を提供する必要が

型注釈と呼ばれた後、型権利の宣言またはそれが無価値でないかどうかもわからない場合は、オプションとして宣言できます。

var aString:String? 

Ifあなたはどのinitiaizationせずに変数を宣言したいと思いますが、あなたはnilに評価することはないだろう確信している、あなたはそれ

var aString:String! 

これは定義でアンラップ強制します。実際には、変数を値で初期化するときでも、型の注釈を使うほうが良いでしょう。後でプログラムの中で、変数の型で何かを混乱させるときに気づくでしょう。

また、配列や辞書(通常はネストされたもの)を宣言すると、その型が事前にわかっていないときに値を書き込む際に問題が生じる可能性があるため、あなたが事前

に変数の型について確認しているときは常に意味し、いつでもあなたができるタイプの注釈を使用したいと思うでしょう

をおさらいする

1

推奨/文書化の方法は以下の通りです:

var <variable name>: <type> = <initial value/expression> 

注:を考えると、フォームが格納された変数または格納された変数プロパティを宣言します。それはあなたが約type annotationについてはっきりしているときに使用されます。

その型なしで変数を宣言することは有効ですが。

var variableName = <initial value> 

注:あなたがその変数に「初期値」を割り当てることがtype annotationその義務を知らない

詳細については、DeclarationのSwift Documentationを参照してください。

関連する問題