gpt4 book ai didi

ios - 检查数组是否包含 Swift 中的索引值

转载 作者:行者123 更新时间:2023-11-28 08:19:47 27 4
gpt4 key购买 nike

我在 plist 中有一个包含 2 个整数值的数组。使用这段代码我可以毫无问题地读取第一个值

let mdic = dict["m_indices"] as? [[String:Any]]
var mdicp = mdic?[0]["powers"] as? [Any]
self.init(
power: mdicp?[0] as? Int ?? 0
)

不幸的是,一些 plist 没有第二个索引值。所以调用这个

power: mdicp?[1] as? Int ?? 0

返回零。我如何检查那里是否有索引,以便它只在存在值时获取值?我试图将它包装在一个 if-let 语句中

        if let mdicp1 = mdic?[0]["powers"] as? [Any]?, !(mdicp1?.isEmpty)! {
if let mdicp2 = mdicp1?[1] as! Int?, !mdicp2.isEmpty {
mdicp2 = 1
}
} else {
mdicp2 = 0
}

但到目前为止,我的尝试导致了多个控制台错误。

最佳答案

如果你正在处理整数数组并且只担心前两项,你可以这样做:

let items: [Int] = [42, 27]
let firstItem = items.first ?? 0
let secondItem = items.dropFirst().first ?? 0

您是否真的想使用 nil 合并运算符 ?? 来使缺失值的计算结果为 0,或者只是将它们保留为可选值,这取决于您。

或者你可以这样做:

let firstItem  = array.count > 0 ? array[0] : 0
let secondItem = array.count > 1 ? array[1] : 0

关于ios - 检查数组是否包含 Swift 中的索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41630944/

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