Swift 如何获取案例模式匹配循环的索引

Swift 如何获取案例模式匹配循环的索引,swift,Swift,我有一个for循环,在这个循环中,我想使用该循环中的索引对创建的变量进行排序。然而,我不确定是否有一个优雅的方式这样做。这是我到目前为止的循环 typealias JSONDictionary = [String: AnyObject] for case let playlistData as JSONDictionary in JSON { let playlist = Playlist(context: coreData.viewContext) playl

我有一个for循环,在这个循环中,我想使用该循环中的索引对创建的变量进行排序。然而,我不确定是否有一个优雅的方式这样做。这是我到目前为止的循环

typealias JSONDictionary = [String: AnyObject]

for case let playlistData as JSONDictionary in JSON {
        let playlist = Playlist(context: coreData.viewContext)
        playlist.initialize(dictionary: playlistData, key: youtube.GMSKey)
以下是我想要避免的:

       typealias JSONDictionary = [String: AnyObject]

       var i = 0
        for case let playlistData as JSONDictionary in JSON {
            let playlist = Playlist(context: coreData.viewContext)
            playlist.initialize(dictionary: playlistData, key: youtube.GMSKey)
            // etc
            i += 1 

您可以与for case let结合使用,只需将条件类型转换模式移动到元组中第二个元素的绑定中

// note that variable names should be lowerCamelCase – I renamed 'JSON' to 'json'.
for case let (index, playlistData as JSONDictionary) in json.enumerated() {
    // ...
}
enumerated返回一个从0开始的连续整数对序列,该序列作为索引在循环中可用,以及调用它的序列元素。

您可以与for case let一起使用,只需将条件类型转换模式移动到元组中第二个元素的绑定中即可

// note that variable names should be lowerCamelCase – I renamed 'JSON' to 'json'.
for case let (index, playlistData as JSONDictionary) in json.enumerated() {
    // ...
}
enumerated返回一个从0开始的连续整数对序列,该序列在循环中可用作索引,以及调用该序列的元素

// note that variable names should be lowerCamelCase – I renamed 'JSON' to 'json'.
for case let (index, playlistData as JSONDictionary) in json.enumerated() {
    // ...
}