2016-05-17 6 views
0

[NSManagedObject]内のループ中にforループからインデックスを取得しようとしています。私は以下のコードを試しました。誰もがそれを得る方法を持っています。NSManagedObject内のforループループからインデックスを取得

エラー: '[NSManagedObject]'と入力してください。プロトコルのSequenceType "

for (index, item) in RestaurantQuestions.all() { 

     print(index) // should print index 
     //Doing my stuff 

    } 

それを行うにはどのような方法があるに準拠していませんか?

答えて

3

あなたがスイフト2.0と比べて次のようにそうする.enumerate()を使用することができます。

for (index, item) in RestaurantQuestions.all()!.enumerate() { 
    print(index) // should print index 
    //Do your stuff 
} 

それはインデックスと、アレイ内の各項目の値を持つタプルを返します。 ただし、RestaurantQuestions.all()はこの場合有効な配列を返す必要があります。

+0

使用する@スラヴァのソリューションは、それはあなたのオプションの配列 – sargeras

5

おそらく、オプションのタイプのためです。そのようoptionalsを取り除くようにしてください:

if let questions = RestaurantQuestions.all() { 
    for (index, item) in questions.enumerate() { 
     print(index) // should print index 
     //Doing my stuff 
    } 
} 
+0

素敵な答えを処理しますが、私はすでにoptionalsを退治しています。私はすでに答えを受け入れましたが、私はあなたの2つの答えをupvotedしています。 –

関連する問題