2016-09-28 2 views
-1

私は var stringArray:[String] = ["sanoj",2.2] //のような配列を作成し、私は遊び場プロジェクトでは、この後swift3に浮動小数点値とともに文字列を格納する配列ですか?

var stringArray:[String] = ["sanoj","kashyap"] //creating array of type string 

を配列を作成して、スウィフトを学んでいますが、私を示した正しい配列は、(それがエラーを与える意味) が、

var stringArray1 = ["sanoj",2.2] does not giving any array ?? why? 

配列のDEFを1として:

配列は、複数のVAを格納命じたコレクションです同じタイプの のルーズつまり、Intの配列にはInt値しか格納できません。 Int値だけを挿入できます。

enter image description here

Xcode:Version 7.3 (7D175) 
OS: 10.11.6 (15G31) 

列挙によって配列を確認する細かい作業と思われます。

enter image description here

アレイを作成しながら、なぜエラーが来ていませんか? Xcodeも同じようにチェックインしてください。

+0

ん 'のvarのStringArray:[文字列] = [ "sanoj"、2.2]'コンパイル? String型の配列に '2.2 'をどのように割り当てることができますか? – Apurva

+0

はい、コンパイルされています。 – Sandy

+1

いいえ、あなたは遊び場の仕組みを理解していません。 'var stringArray:[String] = [" sanoj "、2.2]'はコンパイルできません。 – matt

答えて

2

Xcode 7.3を使用しているときは、Swift 2.3を使用しているため、2番目の配列stringArray1[AnyObject]のタイプです。それがエラーを起こさない理由です。 Swift 2.3以上では、タイプが同じ配列に異なるタイプのオブジェクトを追加できます[AnyObject]

Swift 3では[Any]タイプの配列です。

2

それはANYOBJECTのアレイとして推測されます。 StringとDoubleの両方を、ブリッジングによってAnyObjectにキャストできます。配列にはまだ要素型が1つしかありません!

+0

「配列が同じの複数の値を格納し順序付けられた集合であるいくつかのデ投票タイプは」ブログで述べている偽になることができますか?一つの方法?その配列はタイプ 'AnyObject'のすべてのオブジェクトが含まれており、迅速に' AnyObject'は '、またちょうどSTRING'、' Int' 'のようなタイプであるため、 – Sandy

+0

ありません、それはありませんNSDataなど –

関連する問題