为了账号安全,请及时绑定邮箱和手机立即绑定

如何在SWIFT中找到列表项的索引?

如何在SWIFT中找到列表项的索引?

心有法竹 2019-06-28 16:16:45
如何在SWIFT中找到列表项的索引?我试图通过搜索一个列表来找到一个项目索引。有人知道怎么做吗?我知道有list.StartIndex和list.EndIndex但我想要像蟒蛇那样的东西list.index("text").
查看完整描述

3 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

对于课程,您可能需要:

let index = someArray.firstIndex{$0 === someObject}

全文答覆:

我想值得一提的是,对于引用类型(class)您可能希望执行同一性比较,在这种情况下,只需使用===谓词闭包中的标识运算符:


SWIFT 5,SWIFT 4.2:

let person1 = Person(name: "John")let person2 = Person(name: "Sue")let person3 = Person(name: "Maria")let person4 = Person(name: "Loner")let people = [person1, person2, person3]let indexOfPerson1 = people.firstIndex{$0 === person1} // 0let indexOfPerson2 = people.firstIndex{$0 === person2} // 1let indexOfPerson3 = people.firstIndex{$0 === person3} // 2let indexOfPerson4 = people.firstIndex{$0 === person4} // nil

请注意,上面的语法使用尾随闭包语法,相当于:

let indexOfPerson1 = people.firstIndex(where: {$0 === person1})


SWIFT 4/SWIFT 3-函数以前被称为index

SWIFT 2-函数曾经被称为indexOf 

*注意有关和有用的事项评语通过帕雷关于class实现的类型Equatable,您需要考虑是否应该比较使用=== (同一性运营者)或== (平等(操作员)如果您决定匹配使用==,然后您可以简单地使用其他人建议的方法(people.firstIndex(of: person1)).


查看完整回答
反对 回复 2019-06-28
  • 3 回答
  • 0 关注
  • 871 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信