gpt4 book ai didi

arrays - 从 Swift 数组中删除自定义类型的集合

转载 作者:行者123 更新时间:2023-11-28 12:03:26 24 4
gpt4 key购买 nike

我创建了一个 Swift 数组,其中包含自定义数据类型的两个实例的集合:

var myArray : [(MyDataType, MyDataType)]!

当我想向这个数组中添加项目时,使用以下代码很简单(其中 firstVarsecondVarMyDataType 的实例)

myArray.append((firstVar, secondVar))

我目前正在苦苦挣扎的是从 myArray 中删除项目.使用此代码,我得到一个错误 Value of type '[(MyDataType, MyDataType)]' has no member 'indexOf' :

    let indexOfA = myArray.indexOf((firstVar, secondVar))

myArray.remove(at: indexOfA)

老实说有点困惑,所以关于如何获取 (MyDataType, MyDataType) 的项目索引的任何帮助这样我就可以将其从 myArray 中删除会非常有帮助!

最佳答案

您可以使您的 MyDataType 符合 Equatable 并使用 index(where:) 方法来查找您的元组(它也符合 Equatable):

Swift 4.1 利用 proposal se-0185

struct MyDataType: Equatable {
let id: Int
}

var array : [(MyDataType,MyDataType)] = []

let tuple = (MyDataType(id: 1), MyDataType(id: 2))
array.append(tuple)

if let index = array.index(where: { $0 == tuple }) {
array.remove(at: index)
}

关于arrays - 从 Swift 数组中删除自定义类型的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49867482/

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