指定した要素を配列から探してそのインデックスを取得
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)