如何在 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.8427822identifier: "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 中从 NSDate 获取日、月和小时

如何在 Swift 中从文件夹中获取 UIImage 数组?

如何在 Swift 4 中从 WKWebView 获取 cookie 值?

如何在 swift 5.3 中从 m4a 音频文件中获取 Track Id

在swift中从数组中提取值

IOS - 如何在 Swift 3 中从 JSON 中捕获动态数组维度