gpt4 book ai didi

ios - 从 Swift 中的模型数组获取索引

转载 作者:可可西里 更新时间:2023-11-01 00:20:43 27 4
gpt4 key购买 nike

我有一个这样的自定义数组

let moreMenuItem = [MoreMenuItem(title: "number1", imageName: "rate"),
MoreMenuItem(title: "number2", imageName: "followFacebook"),
MoreMenuItem(title: "number3", imageName: "email")]

这是我的模型类

class MoreMenuItem {

var title: String?
var imageName: String?

init(title: String, imageName: String) {
self.title = title
self.imageName = imageName }
}
}

现在假设我有一个字符串“number3”,我想检查我的数组的标题中是否有“number3”。如果是,则返回找到 number3 的索引。有什么建议吗?

最佳答案

简单,

方法一:

if let indexOfItem = moreMenuItem.index(where: { (item) -> Bool in
return item.title == "number3"
}) {
print("\(indexOfItem)")
}
else {
print("item not found")
}

方法 2:

如果您不想简单地比较标题字符串,而是想根据标题比较两个 MoreMenuItem,请将 MoreMenuItem 确认为 Equatable协议(protocol)如下图

class MoreMenuItem : Equatable {
static func ==(lhs: MoreMenuItem, rhs: MoreMenuItem) -> Bool {
return lhs.title == rhs.title
}


var title: String?
var imageName: String?

init(title: String, imageName: String) {
self.title = title
self.imageName = imageName }
}

然后使用index(of:

let itemToCompare = MoreMenuItem(title: "number3", imageName: "email")
if let value = moreMenuItem.index(of: itemToCompare) {
print("\(value)")
}

希望对您有所帮助:)

关于ios - 从 Swift 中的模型数组获取索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48163991/

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