
Extensions with a Generic Where Clause Swift Extension에 Where 절 활용하기 개발자는 extension에 제네릭 where 절을 활용할 수도 있습니다. 아래의 예시 코드는 스위프트로 커스텀 정의한 Stack 구조에 대한 extension 사용 예시를 보여주는데요. 해당 Stack 타입에서는 isTop(_:) 메서드를 추가로 정의하고 있습니다. Stack타입에서 새롭게 정의된 isTop(_:) 메서드는 해당 타입이 비어있는지를 체크하는데 사용합니다. 컬렉션의 last 값이 존재하지 않는 다는 것은 비어있다는 것을 의미하게 됩니다. 이 때, 만약 제네릭 where 절을 활용하지 않는다면 문제가 발생할 수도 있습니다! isTop(_:) 메서드는 == 연산자를 사용..

Colletion Types 컬렉션 타입 Swift는 기본적으로 3개의 원시 컬렉션 타입을 갖고 있습니다. 이들은 값들을 다양한 목적에 따라 저장하고 관리하는데 사용됩니다. 해당 컬렉션들은 Array, Set, Dictionary 등으로 모두 Swift Standard Library에 속해있습니다 스위프트의 기본적인 세가지 컬렉션 타입에 대해서 각 한줄로 정의해보자면, 아래와 같습니다. - 배열(Array)는 정렬된 값들의 컬렉션입니다. - 셋(Set)은 중복되지 않은 고유값들을 지닌 비정렬 컬렉션입니다. - 딕셔너리(Dictionary)는 중복되지 않은 고유값들을 가지 Key-Value 타입, Hash타입의 컬렉션입니다. 위의 이미지는 Array, Set, Dictionary 세가지 컬렉션의 데이터 저..

RandomAccessCollection 랜덤 접근 컬렉션 랜덤 접근 컬렉션(RandomAccessCollection)은 첨자 접근 등에 있어서 효율적인 랜덤접근을 지원하는 컬렉션입니다. 랜덤 접근 컬렉션은 프로토콜로 되어있습니다. Declaration RandomAccessCollection 선언 형태 앞서 말했듯이, RandomAccessCollection은 프로토콜로 되어있으며 해당 프로토콜을 채택한 객체는 Indices, SubSequence에 대해서 RandomAccessCollection의 형태를 준수해주어야합니다. Overview 개요 랜덤 접근 컬렉션(Random-Access-Collection)은 어느 위치에 있던, 임의의 인덱스 접근을 단 O(1)의 시간복잡도 만으로 수행합니다. 단적인..

Extensions 확장 기능 스위프트의 확장(Extensions) 기능은 존재하는 클래스, 구조체, 열거형, 프로토콜 타입에 새롭게 기능적인 부분을 추가할 수 있는 문법입니다. Extension 기능은 이전의 내부 소스를 접근할 수 없는 원본 타입들에 대해 새로운 기능을 부여할 수 있는 방법입니다. Swift의 Extensions는 Objective-C로 치면 Category와 유사합니다. 다만, Objective-C의 category와 다르게, Swift extension은 별도의 이름을 갖지 않습니다. Swift에서 제공하는 Extension은 아래와 같은 기능을 제공합니다. - 계산프로퍼티, 계산타입 프로퍼티 추가 기능 - 인스턴스 메서드, 타입 메서드의 정의 - 새로운 생성자(initialize..
- Total
- Today
- Yesterday
- Protocol
- swift string
- Collection
- swift언어
- 부스트코스
- swift reduce
- 프로토콜
- 알고리즘
- Swift 알고리즘
- swift
- uikit
- createML
- ios
- 백준알고리즘
- 컬렉션
- swift문제
- 프로그래머스
- 개발자문서
- CoreML
- 프로그래머스swift
- 스위프트
- 자연어처리
- 백준swift
- swift알고리즘
- 알고리즘문제
- SwiftUI
- swift 문자열
- swift concurrency
- 김프매매
- 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 |