亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在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 關注
  • 928 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號