본문 바로가기

array2

배열 Safe Index - 안전하게 배열 조회하기 배열은 인덱스를 통해 빠른 접근이 가능하다. 하지만 인덱스 범위를 넘게 되면 런타임 에러가 발생해 앱을 강제 종료 시킬 수 있어 치명적이다. 프로젝트 진행 중 인덱스를 접근할 일이 많았고, 이는 위험성을 가지고 있기 때문에 멘토님께서 safe Index를 사용하는 방법을 권유하셨다. 따라서 앱에서 인덱스를 통한 접근이 필요할 시 subscript를 사용하여 안전하게 접근할 수 있는 방법을 간단하게 정리해 보겠다. extension Array { subscript (safe index: Int) -> Element? { return indices ~= index ? self[index] : nil } } indices는 Collection 타입의 유효범위를 나타낸다. 예를 들어 arr = [1,2,3] 일.. 2024. 2. 29.
CollectionType 차이점 및 효율적인 사용 시점 알고리즘 문제를 풀다 보면 Array, Set, Dictionary 등 Collection Type 데이터들을 다루게 된다. 데이터 타입마다 각각의 특징들을 가지고 있어 같은 작업을 하더라도 효율성이 달라지게 된다. 데이터의 크기가 커질수록 알고리즘의 중요도와 더불어 데이터 타입 선택도 중요해지게 된다. 그래서 각 타입들의 특징 및 차이점, 언제 사용하면 좋을지 정리해 보았다. 각 데이터 타입의 사용법은 아래 Swift 공식 가이드 참고해 주세요. https://bbiguduk.gitbook.io/swift/language-guide-1/collection-types 각 데이터 타입의 차이점 공식 정의 먼저 Swift language guide에 적혀있는 데이터 타입 설명을 살펴보면 다음과 같다. 배열 .. 2024. 2. 22.