글 작성자: HEROHJK
struct Squad {
    let name: String
    // .
    // .
    // .
}

let platoon = [Squad(name: "Alpha"),
               Squad(name: "Bravo"),
               Squad(name: "Chalie"),
               Squad(name: "Delta")
]

이런 코드가 있고,

 

여기서 찰리분대의 Index를 찾고싶을때는..

 

여태까지 저는 이렇게 처리 했습니다.

 

var i = 0

while i < platoon.count && platoon[i].name != "Chalie" { i += 1 }

if i < platoon.count { return i }
else nil

조금 더 간결한 방법이 없을까 하고 찾아보니, 이런 방법이 있었습니다.

let chalie = platoon.indices.filter({ platoon[$0].name == "Chalie" }).first

https://developer.apple.com/documentation/swift/collection/1641719-indices

반응형