gpt4 book ai didi

swift - 通过使用 Swift 3.0 搜索结构值来获取包含结构的数组索引

转载 作者:搜寻专家 更新时间:2023-10-31 08:13:02 25 4
gpt4 key购买 nike

我有一个保存数据的结构;

struct MyStruct {
var age: Int
var name: String
}

我制作了一个数组并用数据填充它;

var myArray = [MyStruct]()
myArray[0] = MyStruct(age: 26, name: "John")
myArray[1] = MyStruct(age: 35, name: "Smith")

如何找到 myArray 中包含名称“Smith”的元素的索引?

编辑:这里有更多关于我需要使用来自 Losiowaty 的新代码找到位置的上下文;

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
let selection = tableView.cellForRow(at: indexPath)?.textLabel
let name = selection!.text!
let location = myArray.index(where: { $0.name == name})

//additional code to comply with the function and return, unneeded for this context
}

最佳答案

您可以使用index(where:) 方法。一个简单的例子:

let index = myArray.index(where: { $0.name == "Smith" })

如果没有这样的元素,该方法将返回 nil

有了来自编辑的更多上下文,最好(即最安全)的方法是这样的:

if let name = selection?.name {
if let location = myArray.index(where: { $0.name == name }) {
// you know that location is not nil here
}
}

来源 - https://developer.apple.com/reference/swift/array/1688966-index

关于swift - 通过使用 Swift 3.0 搜索结构值来获取包含结构的数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41153095/

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