2016-11-02 11 views
1

辞書に存在する配列をループ処理しようとしています。 何が間違っていますか?これはどのように機能するのですか?Swiftの辞書に存在する配列を調べるにはどうすればいいですか?

public func getItemCount() -> Int{ 

     var count = 0 
     for item in order.object(forKey:"items") as? Array { 
      count += 1 
      //other instructions 
     } 
     return count 
    } 
+0

もし 'Array'の型がないなら' [AnyObject] 'を使うのが良いでしょう。私の答えをチェックすることができます。 – KrishnaCA

+0

その '? Array for forループはオプションを持つことはできません。いずれかを 'として使用する! Array'をクラッシュの危険にさらすか、またはそれを分解し、arrayがnilでない場合にのみループします。 – RJE

+0

@ Jargen89、私の答えはあなたの問題を解決しましたか? – KrishnaCA

答えて

3

2段階に分解してください。

public func getItemCount() -> Int{ 

    if let thisArray:[AnyObject] = order.object(forKey:"items") as? [AnyObject] { 
     for item in thisArray { 

     } 
    } 
} 

気軽に編集を提案してください。

+0

これは今までのところ最高の答えです。 – WMios

+1

@WMiosありがとう:) – KrishnaCA

+1

よろしくお願いします。私はObjective-Cですべての時間を過ごした後、Swiftを始めました。 – Jargen89

関連する問題