如何在 Swift 5 中从数组中获取值
Posted
技术标签:
【中文标题】如何在 Swift 5 中从数组中获取值【英文标题】:How to get values from array in Swift 5 【发布时间】:2020-07-28 20:52:41 【问题描述】:我有一个数组
我将let classificationTest = request.results as? [VNClassificationObservation]
中的值分配给@Binding var classificationInProcent: Array<Any>
。当我使用print(type(Of: classificationTest))
时,我知道这是一个数组
现在在classificationInProcent
我有价值观:
[(confidence: 0.8427822, identifier: "Rose"), (confidence: 0.15579186, identifier: "Carnation"), (confidence: 0.00085995096, identifier: "Tulip"), (confidence: 0.00027763256, identifier: "Magnolia"), (confidence: 0.00016394019, identifier: "Poppy"), (confidence: 0.00010621416, identifier: "Daisy"), (confidence: 1.5651864e-05, identifier: "Orchid"), (confidence: 1.4234058e-06, identifier: "Hyacinth"), (confidence: 1.0996952e-06, identifier: "Sunflower"), (confidence: 3.0659162e-08, identifier: "Iris")]
我想分别提取每个值,分别是confidence: 0.8427822
、identifier: "Rose"
。我需要这个值,因为我将创建图表并在那里使用它。
我尝试以这种方式从classificationInProcent
打印值:
print("First value: ", classificationInProcent[0].confidence)
但 Xcode 告诉我,在 dot 之后我无法使用信心,只需 self
。
如何从 Array 中获取所有这些值?
【问题讨论】:
你为什么把它做成一个Any数组?它是(Double, String)
的数组。为什么是@Binding
?这实际上是一个 SwiftUI 问题吗?在这种情况下,请显示更多上下文。
嗨@matt 谢谢你的回答。我编辑了一些我的帖子。
“当我使用 print(type(Of:classificationTest)) 时,我得到这是一个数组”但它不是任何数组。它是一个 VNClassificationObservation 数组。
【参考方案1】:
classificationInProcent
的类型已经从它的值中推断出来了,你不需要像我在下面的代码中显示的那样给出它,还有为什么不简单地使用 forEach
循环遍历 classificationInProcent
.
let classificationInProcent = [(confidence: 0.8427822, identifier: "Rose"), (confidence: 0.15579186, identifier: "Carnation"), (confidence: 0.00085995096, identifier: "Tulip"), (confidence: 0.00027763256, identifier: "Magnolia"), (confidence: 0.00016394019, identifier: "Poppy"), (confidence: 0.00010621416, identifier: "Daisy"), (confidence: 1.5651864e-05, identifier: "Orchid"), (confidence: 1.4234058e-06, identifier: "Hyacinth"), (confidence: 1.0996952e-06, identifier: "Sunflower"), (confidence: 3.0659162e-08, identifier: "Iris")]
classificationInProcent.forEach (confidence, identifier) in
print("First value: ", confidence)
print("Second value: ", identifier)
【讨论】:
以上是关于如何在 Swift 5 中从数组中获取值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中从文件夹中获取 UIImage 数组?
如何在 Swift 4 中从 WKWebView 获取 cookie 值?