앱등이에게 살충제를 뿌린다./Swift
-
[Swift] Set(집합)이라는 컬렉션앱등이에게 살충제를 뿌린다./Swift 2015. 11. 11. 23:19
집합(Set)은 배열과 유사합니다. 같은 타입의 서로 다른 값을 저장하지만 순서가 보장되지 않습니다. 배열은 같은 값이 중복되어 포함될 수 있고 순서또한 있다는 차이점이 있습니다. 집합은 Hash값을 이용하여 데이터를 저장하기 때문에 저장되는 데이터는 Hash연산을 할 수 있는 데이터여야 합니다. 스위프트의 기본 데이터타입들은 모두 Hash를 지원하지만 커스텀 타입의 데이터 타입은 스위프트 라이브러리에서 제공하는 Hashable프로토콜을 구현해주어야 합니다. 어쨋든 되긴 되나보네요. 집합을 정의하는 방법은 아래와 같습니다. var genres : Set = ["Classic", "Rock", "Balad"] 배열과 같은 데이터 타입으로 초기화되고 있지만 Set이라는 Type annotation을 사용하여..
-
[Swift] guard가 if보다 나은 이유?앱등이에게 살충제를 뿌린다./Swift 2015. 11. 10. 22:58
Swift 2.0에 guard가 등장했다. 이 놈이 평범한 if문보다 어떤 강점이 있는걸까? 복잡도를 최소화해보자. 조건문은 모든 프로그래밍 언어에서 기본적으로 갖추고 있는 요소입니다. Obj-C도 Swift도 예외는 아닙니다. 어떤 애플리케이션을 만들더라도 조건문에 의한 복잡도를 벗어나는 완벽한 방법은 없을 것입니다. 불행히도, 조건문은 종종 복잡도를 높이는 원인이 되곤 합니다. 촘촘히 쓰여진 조건문은 디버깅의 방해요소가 되기도합니다. 촘촘한 if문을 피하기 위해서 아래와 같은 방법을 사용하기도 했어요. - (void)fetchListOfCustomers:(NSArray *)customers { if (!self.reachable) return; if (!self.connected) return; if..