gpt4 book ai didi

swift - 如何在 for case 模式匹配循环中获取索引

转载 作者:搜寻专家 更新时间:2023-11-01 06:03:57 26 4
gpt4 key购买 nike

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

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

最佳答案

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

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

enumerated() 返回从 0 开始的连续 Int 对序列(在循环内作为 index)以及您调用它的序列的元素。

关于swift - 如何在 for case 模式匹配循环中获取索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42282232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com