我有一个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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句