Opaque Types 불투명 타입 Opaque 반환 타입을 가진 함수, 메서드는 자신의 반환타입 정보를 외부에 숨길 수 있습니다. 일반적인 반환타입 처럼 명확한 반환 타입을 외부에 제공하는 대신 말이지요. // OpaqueType 사용 예시, 반환타입은 Shape 프로토콜을 채택한 어떠한 타입이던 될 수 있습니다. // -> 즉, 말 그대로 불투명한 타입(Opaque Type)입니다. func flip(_ shape: T) -> some Shape { return FlippedShape(shape: shape) } 반환타입을 숨기는 것은 모듈로 호출되는 코드와 모듈 사이에서 유용하게 사용되어질 수 있습니다.그 이유는 반환타입에 의존하는 타입은 private으로 유지될 수도 있기 때문입니다. 반환할때 일..
Protocol Associated Type Declaration 프로토콜에 associatedType 선언하기 프로토콜(Protocol)은 associatedType 키워드를 사용해서 관련 타입(associated types)를 선언합니다. associatedtype은 프로토콜의 정의 일부로서 사용되는 별명타입을 제공합니다. 관련타입(associatedtype)은 제네릭 매개변수 절에 있는 타입 매개변수와 유사합니다. 하지만, associatedtype은 정의되어 있는 프로토콜의 Self와 관련이 있다는 특징이 있습니다. 앞서 말한 Self는 프로토콜을 채택하고 준수하는 실질적인 대상 타입을 참조합니다. 이에 대한 더 자세한 내용이 궁금하다면, Associated Types를 참고하세요. associa..
BidirectionalCollection 양방향 컬렉션 후방, 전방 순회를 둘 다 지원하는 컬렉션(Collection) Protocol 양방향컬렉션 프로토콜 선언 Overview 개요 양방향 컬렉션(Bidirectional Collection)은 전방 뿐만 아니라 후방의 유효한 인덱스에서 순회하는것을 지원합니다. startIndex 필요 없이 말이죠. 양방향컬렉션은 이렇듯 전방순회뿐만 아니라 후방 순회가 가능한데요. 이에 따른 추가적인 연산기능을 제공하고 있습니다. 마지막 요소를 효율적으로 접근할 수 있도록 하는 기능, 역순으로 요소들을 얻을 수 있게 해주는 reversed() 메서드 등이 그 예입니다. 그 뿐만 아니라, 양방향 컬렉션은 suffix(_:)와 같은 메서드를 사용할 수 있게 해줍니다. s..
안녕하세요. developer, 멍구입니다. 🤗 오늘은 Sequence protocol, 시퀀스 프로토콜을 채택하고 사용하는 법에 대한 애플 개발자 공식문서를 보도록 하겠습니다. Conforming to the Sequence Protocol Sequence 프로토콜 채택(준수) 및 사용법 어떠한 커스텀(Custom) 타입에 Sequence 프로토콜을 채택(준수) 해서 사용하는 것은 지난번 포스팅에서 돌아본 for-in 루프, constains(_:) 메서드 등의 기능 이외에 많은 유용한 연산기능들을 지원합니다. 만약 커스텀 타입에 Sequence 프로토콜을 채택하여 사용하기 위해서는 Sequence와 iterator(반복자)를 충분하게 반환하는 makeIterator() 메서드를 정의해 주는 것이 필요..
- Total
- Today
- Yesterday
- 프로그래머스swift
- 자연어처리
- CoreML
- SwiftUI
- 알고리즘문제
- swift
- Swift 알고리즘
- 스위프트
- swift reduce
- ios
- swift string
- Protocol
- 알고리즘
- swift언어
- 개발자문서
- swift 문자열
- swift문제
- Collection
- 김프매매
- 프로그래머스
- 백준swift
- 프로토콜
- 컬렉션
- swift 기초
- uikit
- publisher
- createML
- 부스트코스
- swift알고리즘
- 백준알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |