gpt4 book ai didi

ios - 检查 3D 数组 Swift 中是否存在元素

转载 作者:可可西里 更新时间:2023-11-01 00:56:41 24 4
gpt4 key购买 nike

我有一个在 viewDidLoad 中实例化的数组,例如 var bookingsArray : [[String]] = []

我以这种方式向其中添加元素:

var configuration: [String] = []
configuration.append(textfieldFacility.text!)
configuration.append((pickSlotTF.text?.components(separatedBy: " ")[0])!)
configuration.append((pickSlotTF.text?.components(separatedBy: " ")[1])!)
bookingsArray.append(configuration as [String])

bookingsArray 看起来像:

[["A", "20-08-2017", "14:00"], ["B", "20-08-2017", "14:00"]]

在向 bookingsArray 添加新元素时,我想检查新元素是否已存在于数组中。在这种多维数组的情况下我该怎么做?

最佳答案

首先,如果您想要唯一的对象,请使用 Set

如果这不可能,我强烈建议使用可以符合 Equatable 的自定义结构,而不是嵌套数组,例如

struct Booking : Equatable {
let facilty : String
let date : String
let time : String

static func ==(lhs : Booking, rhs : Booking) -> Bool {
return lhs.facilty == rhs.facilty && lhs.date == rhs.date && lhs.time == rhs.time
}
}

然后将数组声明为

var bookingsArray = [Booking]()

并创建一个对象

let dateArray = pickSlotTF.text!.components(separatedBy: " ")
let configuration = Booking(facility: textfieldFacility.text!,
date: dateArray[0],
time = dateArray[1])
bookingsArray.append(configuration)

最大的好处是你可以轻松检查

if bookingsArray.contains(item)

关于ios - 检查 3D 数组 Swift 中是否存在元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45780171/

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