-
[Swift] 안전하게 Array Index 하기 - subscript 직접 구현하기Swift 2023. 1. 8. 16:24
Swift 의 Array 는 range 를 벗어나는 index 를 조회하려고 하면 에러가 발생하고 앱이 죽어버립니다.
이럴때 안전하게 out of range 라면 nil 을 뱉어주어서 분기처리를 해준다면 보다 안전하게 앱을 관리할수 있겠죠?
subcript 란 array 에서 index 를 조회하거나, dictionary 에서 key 로 value 를 찾고자 할때 사용하는 함수입니다.
기존 👇👇
let array = [1,2,3,4,5,6] print(array[5]) //6 print(array[6]) //Swift/ContiguousArrayBuffer.swift:600: Fatal error: Index out of range
subscript 를 직접 만들어서 사용할 경우 👇👇
import Foundation extension Array { subscript (safe index: Int) -> Element? { return indices ~= index ? self[index] : nil } } let array = [1,2,3,4,5,6] print(array[safe: 5]) // Optional(6) print(array[safe: 6]) // nil
'Swift' 카테고리의 다른 글
[Combine] tryMap 말고 compactMap 으로 조져보자 (0) 2023.01.13 [Swift] GCD DispatchQueue 에 대해서 (0) 2023.01.09 [Swift] Higher Order Functions (0) 2023.01.07 [Swift] String 에서 특정 문자를 지워보자 - replacingOccurrences (0) 2023.01.07 [Swift] Stack 구현하기 (0) 2023.01.04