指定した要素を配列から探してそのインデックスを取得
indexOfを用いる
(Swift 1系で用いられていたfindはなくなりました)
Stringの配列
let strs = ["aiueo", "ABC", "いろは"]
let index = strs.indexOf("ABC")
// index = 1
指定した要素がなかった場合は、nilが返ってくる
配列の要素がクラスのインスタンスの場合
class RItem {
let title: String
let duration: Float
init(title: String, duration: Float) {
self.title = title
self.duration = duration
}
}
let item0 = RItem(title: "A-Album", duration: 13.0)
let item1 = RItem(title: "B-Album", duration: 4.9)
let item2 = RItem(title: "C-Album", duration: 8.9)
let items = [item0, item1, item2]
if let index = items.indexOf({$0 === item1}) {
print(index)
}同一インスタンスの参照であるかを判定するには、===を用いる
(The Swift Programming Language (Swift 2.1): Classes and Structures)