이번 글에서는 Swift 공식 문서의 22번째 단원인 Generics을 읽고 정리한 글을 쓰려고 한다. Apple Swift 공식 문서 22단원 - Generics Generics Generic(제네릭) 코드를 사용 하면 정의한 요구사항에 따라 모든 타입에서 작동할 수 있는 유연하고 재사용 가능한 함수와 타입을 작성할 수 있다. 이는 중복을 피하고 명확하고 추상적인 방식으로 코드를 작성할 수 있다. 제네릭은 Swift의가장 강력한 기능 중 하니이고 Swift 표준 라이브러리의 대부분은 제네릭 코드로 빌드된다. 사실 지금까지 작성한 모든 글에서 제네릭을 사용하고 있었다. 예를 들어 Swift의 Array,Dictionary 타입은 모두 제네릭 컬렉션이다. 즉 Array에 Int,String등 모든 타입을 ..
안녕하세요 Pingu 입니다! 🐧 이번 글에서는 Swift 공식 문서의 20번째 단원인 Extensions을 읽고 정리한 글을 쓰려고 합니다. Apple Swift 공식 문서 20단원 - Extensions Extensions Extensions(익스텐션)은 기존의 클래스, 구조체, 열거형, 프로토콜에 새로운 기능을 추가하는 기능입니다. 이는 실제로 해당 타입들이 정의된 코드에 접근할 수 없을 때에도 사용할 수 있어요. Swift의 익스텐션은 다음을 수행할 수 있습니다. 인스턴스의 계산 프로퍼티와 계산 타입 프로퍼티 추가 인스턴스 메서드와 타입 메서드 정의 새로운 생성자 제공 서브 스크립트 정의 새로운 중첩 타입 정의 기존 유형이 특정 프로토콜을 준수하도록 만들기 Swift에서는 프로토콜을 익스텐션 해서..
이번 글에서는 Swift 공식 문서의 19번째 단원인 Nested Types을 읽고 정리한 글을 쓰려고 한다. Apple Swift 공식 문서 19단원 - Nested Types Nested Types 열거형은 가끔 특정 클래스와 구조체의 기능을 지원하기 위해 생성된다. 이와 비슷하게 복잡한 타입의 클래스와 구조체를 사용할 때 그 안에서 모든 것을 구현하는 것이 편리할 수 있다. 즉 해당 블록 안에 또 다른 열거형, 클래스, 구조체를 중첩해서 정의할 수 있다는 말이다. 다른 타입 내에 타입을 중첩하려면 지원하는 타입의 외부 중괄호 안에 정의를 작성하면 된다. Nested Types in Action struct BlackjackCard { // nested Suit enumeration enum Suit..
이번 글에서는 Swift 공식 문서의 18번째 단원인 Type Casting을 읽고 정리한 글을 쓰려고 한다. Apple Swift 공식 문서 18단원 - Type Casting Type Casting 타입 캐스팅은 인스턴스의 타입을 확인하거나 어떠한 클래스의 인스턴스를 해당 클래스 계층 구조의 슈퍼 클래스나 서브 클래스로 취급하는 방법이다. Swift의 타입 캐스팅은 is, as 연산자로 구현된다. 이 두 연산자는 타입을 확인하거나 다른 타입으로 캐스트 하는 것을 간단한 표현으로 제공한다. 타입 캐스팅을 사용하여 프로토콜을 준수하는지 확인할 수도 있다. Defining a Class Hierarchy for Type Casting 클래스와 서브 클래스의 계층 구조와 함께 타입 캐스팅을 사용하여 특정 클..
이번 글에서는 Swift 공식 문서의 17번째 단원인 Error Handling을 읽고 정리한 글을 쓰려고 한다. Apple Swift 공식 문서 17단원 - Error Handling Error Handling Error Handling(오류 처리)는 프로그램의 오류 조건에 응답하고 복구하는 프로세스이다. Swift는 런타임에 복구 가능한 오류를 throwing, catching, propagating, manipulating 하는 일급 클래스를 제공한다. 모든 작업이 항상 실행을 완료하거나 유용한 결과를 도출하는 것은 아니다. 작업이 실패했을 때 왜 실패했는지 원인을 이해하는 것이 중요한 경우가 많다. 예를 들어 디스크에 있는 파일에서 데이터를 읽고 처리하는 작업을 생각해보자. 이러한 작업에는 지정된..
이번 글에서는 Swift 공식 문서의 16번째 단원인 Optional Chaining을 읽고 정리한 글을 쓰려고 한다. Apple Swift 공식 문서 16단원 - Optional Chaining Optional Chaining Optional chaining(옵셔널 체이닝)은 현재 nil일 가능성이 있는 옵셔널 타입의 프로퍼티, 메서드, 서브 스크립트를 쿼리하고 호출하는 프로세스이다. 만약 옵셔널 타입에 값이 할당되어 있으면 프로퍼티, 메서드, 서브 스크립트의 호출이 성공하는 것이고 nil이라면 nil을 반환하게 된다. 여러 개의 쿼리를 함께 연결할 수 있으며 연결된 체인 중 하나라도 nil이라면 전체 체인이 정상적으로 실패하게 된다. Optional Chaining as an Alternative t..
이번 글에서는 Swift 공식 문서의 15번째 단원인 Deinitialization을 읽고 정리한 글을 쓰려고 한다. Apple Swift 공식문서 15단원 - Deinitialization Deinitialization Deinitializer(소멸자)는 클래스 인스턴스의 메모리 할당이 해제되기 직전에 호출된다. Initializer가 init 키워드로 작성되는 방식과 비슷하게 Deinitializer는 deinit 키워드로 작성한다. 소멸자는 클래스에서만 사용할 수 있다 How Deinitialization Works Swift는 더 이상 필요하지 않은 인스턴스를 자동으로 메모리 할당을 해제하여 리소스를 확보한다. Swift는 인스턴스의 메모리를 Automatic Reference Counting(A..
이번 글에서는 Swift 공식 문서의 14번째 단원인 Initialization을 읽고 정리한 글을 쓰려고 한다. Apple Swift 공식 문서 14단원 - Initialization Initialization Initialization(생성자)는 클래스, 구조체, 열거형에서 인스턴스를 준비하기 위한 과정이다. 이러한 과정은 인스턴스의 프로퍼티들마다 초기값을 설정해주고 새 인스턴스를 사용하기 전에 필요한 설정과 초기화를 수행하는 과정이 포함된다. 각각의 타입에서 새로운 인스턴스를 만들 수 있는 특수한 메서드와 같은 역할을 하는 생성자를 정의하여 사용할 수 있다. Objective-C의 생성자와는 다르게 Swift의 생성자는 값을 반환하지는 않는다. 생성자의 가장 중요한 역할은 새로운 인스턴스가 처음 사..
- Total
- Today
- Yesterday
- 알고리즘
- mac
- 프로그래밍
- BFS
- OS
- 코테
- design
- 문법
- DP
- 자료구조
- 테이블뷰
- pattern
- Swift
- operator
- 동시성
- dfs
- Publisher
- OSTEP
- document
- Apple
- Combine
- IOS
- 앱개발
- 아이폰
- 코딩테스트
- Xcode
- 스위프트
- 백준
- System
- operating
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |