티스토리 뷰

반응형

 

 


Collection
컬렉션

자기 자신의 요소들이 여러 차례 비파괴적으로 순회가능하고, 인덱스 첨자로서 접근 가능한 시퀀스로 Swift 표준 라이브러리에 포함되어 있습니다.

 

 


Declaration
Collection 선언

protocol Collection

Collection은 프로토콜로서 정의되어 있으며 스위프트 표준 라이브러리 내에서 광범위하게 사용되고 있습니다.

 

 


Overview
개요

Collection 프로토콜은 스위프트 표준 라이브러리 곳곳에서 광범위하게 사용됩니다.

예를 들면, 배열(Array), 딕셔너리(Dictionary), 문자열(String) 등 이 외의 모든 컬렉션들을 사용할 때 사용됩니다. 이러한 컬렉션들은 Collection의 정의 및 채택을 통해서 컬렉션 연산의 이점을 취하게 됩니다. 

 

 

public protocol Collection : Sequence

Collection 프로토콜은 Sequence 프로토콜을 준수하는 프로토콜로, Sequence 프로토콜인 갖는 연산을 사용할 수 있을 뿐만 아니라, 컬렉션 내에서 특정 위치의 요소를 접근하는 것에 기반한 메서드를 접근할 수 있게 됩니다. 

그 예를 들어보겠습니다. 만약 주어진 문자열에 대해서 맨 첫번째 단어만 출력하고 싶다면, 가장 첫 번째 공백(whiteSpace), " " 를 찾아서 해당 특정 인덱스를 찾고, 그 이전까지의 범위의 부분 문자열을 만들어 출력할 수 있으며, 그 예시 코드는 아래와 같습니다.

 

 


String 문자열인 textString은 Collection 프로토콜을 준수하고 있습니다. textString의 접근가능 메서드인 firstIndex(of:) 메서드를 통해 첫번째 공백을 찾고, 그 이전까지 영역의 문자열을 출력하고 있습니다. 그 결과, 맨 첫 번째 단어가 출력됩니다.

firstSpaceIndex 상수는 " "가 발견되는 맨 첫 인덱스를 갖습니다. 이때의 타입은 String.index로, String에 배열 첨자접근시와 같은 인덱스로서 사용될 수 있습니다.

 

 


그 결과, 주어진 문자열의 맨 첫 단어인 "Hello"가 출력되었습니다. 

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함