![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/SqKXw/btqF1BtkxNk/vIHtG6rvQUymDClxIihcLK/img.png)
Generic Where Clauses 제네릭 Where 절 타입에 제약을 주는 것(Type Constraints)은 개발자가 제네릭 메서드, 첨자, 타입과 관련한 타입 매개변수의 요구사항을 정의할 수 있게 해줍니다. 이는 관련 타입들에 대한 요구사항 정의에도 유용할 수 있습니다. 관련 타입들의 요구사항 정의를 위해 개발자는 제네릭 where 절을 사용할 수 있습니다. 제네릭 where 절은 관련 타입(accociated type)이 반드시 특정 프로토콜을 준수해야함을 요구사항으로 정의하거나, 관련타입이 어떤 타입의 제약을 갖는지를 정의할 수 있습니다. 제네릭 where 절은 "where" 키워드로 시작하며, 그 뒤를 따라 관련 타입 (associated type) 에 대한 제약사항이나 충족되야하는 관계..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/DaGmU/btqF01lbe5M/NTXVNfoxpGqVw1zjgmfC11/img.png)
Colletion Types 컬렉션 타입 Swift는 기본적으로 3개의 원시 컬렉션 타입을 갖고 있습니다. 이들은 값들을 다양한 목적에 따라 저장하고 관리하는데 사용됩니다. 해당 컬렉션들은 Array, Set, Dictionary 등으로 모두 Swift Standard Library에 속해있습니다 스위프트의 기본적인 세가지 컬렉션 타입에 대해서 각 한줄로 정의해보자면, 아래와 같습니다. - 배열(Array)는 정렬된 값들의 컬렉션입니다. - 셋(Set)은 중복되지 않은 고유값들을 지닌 비정렬 컬렉션입니다. - 딕셔너리(Dictionary)는 중복되지 않은 고유값들을 가지 Key-Value 타입, Hash타입의 컬렉션입니다. 위의 이미지는 Array, Set, Dictionary 세가지 컬렉션의 데이터 저..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dU0cqK/btqFZNA7Bgm/L2uoTnUfMUHofyX6EWVTR1/img.png)
RandomAccessCollection 랜덤 접근 컬렉션 랜덤 접근 컬렉션(RandomAccessCollection)은 첨자 접근 등에 있어서 효율적인 랜덤접근을 지원하는 컬렉션입니다. 랜덤 접근 컬렉션은 프로토콜로 되어있습니다. Declaration RandomAccessCollection 선언 형태 앞서 말했듯이, RandomAccessCollection은 프로토콜로 되어있으며 해당 프로토콜을 채택한 객체는 Indices, SubSequence에 대해서 RandomAccessCollection의 형태를 준수해주어야합니다. Overview 개요 랜덤 접근 컬렉션(Random-Access-Collection)은 어느 위치에 있던, 임의의 인덱스 접근을 단 O(1)의 시간복잡도 만으로 수행합니다. 단적인..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cOuicB/btqFPsCiXfn/c7Pkk9KNe4R5K1RXvhzYqk/img.png)
Extensions 확장 기능 스위프트의 확장(Extensions) 기능은 존재하는 클래스, 구조체, 열거형, 프로토콜 타입에 새롭게 기능적인 부분을 추가할 수 있는 문법입니다. Extension 기능은 이전의 내부 소스를 접근할 수 없는 원본 타입들에 대해 새로운 기능을 부여할 수 있는 방법입니다. Swift의 Extensions는 Objective-C로 치면 Category와 유사합니다. 다만, Objective-C의 category와 다르게, Swift extension은 별도의 이름을 갖지 않습니다. Swift에서 제공하는 Extension은 아래와 같은 기능을 제공합니다. - 계산프로퍼티, 계산타입 프로퍼티 추가 기능 - 인스턴스 메서드, 타입 메서드의 정의 - 새로운 생성자(initialize..
- Total
- Today
- Yesterday
- CoreML
- 자연어처리
- 알고리즘
- 스위프트
- createML
- uikit
- swift알고리즘
- Protocol
- 부스트코스
- 프로그래머스
- 알고리즘문제
- Swift 알고리즘
- 백준알고리즘
- swift string
- SwiftUI
- swift 기초
- swift 문자열
- 컬렉션
- swift언어
- Collection
- 백준swift
- swift문제
- 김프매매
- 프로그래머스swift
- 프로토콜
- swift
- publisher
- ios
- 개발자문서
- swift reduce
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |