2017-07-21 21 views
0

要素のインデックスにアクセスしてAnyオブジェクトの配列を列挙したいと思います。しかし、迅速なスローエラー:素早くAnyオブジェクトの配列を列挙します

Type '() -> EnumeratedSequence<[Any]>' does not conform to protocol 'Sequence'`

私のコードは次のとおりです。

var arrValues : [Any]! 

for (index, ob) in arrValues.enumerated() { 
    print("\(index): '\(ob)'") 
} 

それを修正する方法は?

答えて

1

に動作します、私は

enter image description here

、あなたがイメージ以下のように行っていると思った

var arrValues = [Any]() 
    for var i in 0..<arrValues.count { 

     print("\(i): '\(arrValues[i])'") 
    } 

に行く方法です

実際のコードは

012です
for (index, ob) in arrValues.enumerated(){ 
//..... 
} 

また、値があるかどうかを確認するには、Optional varが必要です。

var arrValues : [Any]? 

    if arrValues?.count != nil{ 
     for (index, ob) in (arrValues?.enumerated())! { 

      print("\(index): '\(ob)'") 
     } 
    }else{ 
     print("Array is Empty") 
    } 

出力

出力を確認しhereをクリックします。

1

これは、あなたがこれもあなたが正しい構文に従う必要が

var arrValues = [Any]() 
for (index, ob) in arrValues.enumerated() { 
    print("\(index): '\(ob)'") 
} 
+0

おかげで、列挙使用する方法は、()がありますか? –

+0

arrValuesを暗黙的にアンラップされたオプションとして定義した点の違いに注意してください。それがあなたのために働く場合、答えを受け入れてください。 –

+0

'0 .. Palle

1

インスタンスを作成せずに配列を宣言しているようです。

あなたはスニペットの下に使用することができます。

var arrValues = [Any]() 

for (index, ob) in arrValues.enumerated() { 
    print("\(index): '\(ob)'") 
} 
関連する問題