2016-09-25 28 views
0

我有一些難以將我的Swift 2.2應用程序轉換爲Swift 3.0。 我有一些錯誤,我還沒有找到解決方案。目前,我最糟糕的問題是NSFastEnumerationIteration,我嘗試從JSON獲取記錄,但有這個錯誤我不能。這是我的代碼有問題的截圖:NSFastEnumerationIteration.member Swift 3

Swift 3.0 error with NSFastEnumerationInteration

回答

1

在斯威夫特3,您需要指定對象的類型,所以指定數據陣列的類型[[String:Any]]

if let dataArr = data as? [[String: Any]] { 
    for dd in dataArr { 
     //your code for accessing dd. 
    } 
} 
+0

是的,非常感謝!它工作正常! – ewan

+0

歡迎伴侶:) –

0

對於只知道你的可變數據是一個數組,不知道別的,所以你需要提供以及的內容的類型您的可變數據

let dataToParse = dataweneed.data(using: String.Encoding.utf8.rawValue)! 
let jsonOptions = [JSONSerialization.ReadingOptions.mutableContainers] 
let data = try JSONSerialization.jsonObject(with: dataToParse, options: jsonOptions) 

// now For in loop would know that you 
// could have an array of dictionaries 
if let data = data as? [[String: Any]] { 
    for dd in data { 
    // your code 
    } 
}