이번 글에서는 Swift 공식 문서의 21번째 단원인 Protocols을 읽고 정리한 글을 쓰려고 합니다. Apple Swift 공식 문서 21단원 - Protocol Protocol Protocol은 특정 작업이나 기능에 적합한 메서드, 프로퍼티, 요구사항의 청사진을 정의합니다. 그런 뒤 이러한 요구사항의 실제 구현을 위해 Class, Struct, Enum에서 Protocol을 채택할 수 있습니다. 이때 Protocol이 요구하는 사항을 모두 충족하면 해당 타입은 Protocol을 준수한다고 합니다. 준수해야 하는 타입의 요구사항을 정의하는 것 외에도 요구사항의 일부를 구현하거나, 준수하는 타입에 추가 기능을 구현하기 위해 Protocol을 확장할 수도 있습니다. Protocol Syntax Prot..
이번 글에서는 Swift 공식 문서의 27번째 단원인 Advanced Operators를 읽고 정리한 글을 쓰려고 합니다. Swift 공식문서 27단원 - Advanced Operators Advanced Operators 공식문서의 2단원인 Basic Operators에서 설명된 연산자 외에도 Swift에는 더 복잡한 값의 조작을 수행하는 여러 고급 연산자를 제공한다. 여기에는 C, Objective-C에서 익숙한 모든 비트 및 비트 이동 연산자가 포함된다. C의 산술 연산자와 달리 Swift의 산술 연산자는 기본적으로 오버플로 되지 않는다. 오버플로 동작은 트랩 되고 오류로 보고된다. 오버플로 동작을 선택하려면 오버플로 더하기 연산자 (& +)와 같이 기본적으로 오버플로 되는 Swift의 두 번째 산..
이번 글에서는 Swift 공식 문서의 26번째 단원인 Access Control을 읽고 정리한 글을 쓰려고 합니다. Swift 공식문서 26단원 - Access Control Access Control 접근 제어는 다른 소스 파일 및 모듈의 코드에서 현재 코드 부분에 대한 접근을 제한한다. 이 기능을 사용하면 코드의 구현 세부 정보를 숨기고 해당 코드에 접근하고 사용할 수 있는 기본 인터페이스를 지정할 수 있다. 특정 접근 수준을 개별 타입(클래스, 구조체, 열거형)과 해당 타입에 포함된 프로퍼티, 메서드, 생성자, 서브 스크립트에 할당할 수 있다. 프로토콜은 전역 상수, 전역 변수, 전역 함수와 마찬가지로 특정 컨텍스트로 제한될 수 있다. 다양한 수준의 접근 제어를 제공하는 것 외에도 Swift는 일반..
이번 글에서는 Swift 공식 문서의 25번째 단원인 Memory Safety을 읽고 정리한 글을 쓰려고 한다. Apple Swift Document 25단원 - Memory Safety Memory Safety Swift는 코드가 안전하게 동작할 수 있도록 노력한다. 예를 들어 Swift는 변수가 사용되기 전에 초기화되고 메모리가 할당 해제된 후엔 접근되지 않으며 Array의 인덱스에서 벗어나면 오류를 발생시킨다. Swift는 메모리의 위치를 수정하는 코드가 해당 메모리에 대한 독점 접근 권한을 갖도록 요구하여 동일한 메모리 영역의 접근들의 충돌을 방지한다. Swift는 메모리를 자동으로 관리해주기 때문에 메모리 접근에 대해 크게 생각할 필요는 없지만, 충돌이 발생할 수 있는 위치를 이해해야 코드를 잘..
안녕하세요 Pingu 입니다!🐧 이번 글에서는 Swift 공식 문서의 24번째 단원인 Automatic Reference Counting을 읽고 정리한 글을 쓰려고 합니다. Apple Swift Document 24단원 - Automatic Reference Counting Automatic Reference Counting Swift는 ARC (Automatic Reference Counting)를 사용하여 앱의 메모리 사용량을 추적하고 관리합니다. ARC는 어떠한 클래스 인스턴스가 더 이상 필요하지 않을 때 클래스 인스턴스에 할당된 메모리를 자동으로 해제합니다. ARC는 메모리를 관리하기 위해 코드 부분 간의 관계에 대한 추가적인 정보를 요구할 수도 있습니다. 이번 글에서는 이러한 상황을 알아보고 A..
이번 글에서는 Swift 공식 문서의 23번째 단원인 Opaque Type을 읽고 정리한 글을 쓰려고 한다. Apple Swift Document 23단원 - Opaque Types Opaque Types Opaque는 불투명체라는 뜻을 가진 단어이다. Opaque 반환 타입이 있는 함수 또는 메서드는 반환 값의 타입 정보를 숨긴다. 함수의 반환 타입으로 구체적인 타입을 제공하지 않고 지원되는 프로토콜 측면에서 설명된다. 반환 값의 타입이 비공개로 유지될 수 있기 때문에 모듈과 모듈을 호출하는 코드 사이의 경계에서 타입 정보를 숨기는 것이 유용하다. 타입이 프로토콜 타입을 반환하는 것과 달리 Opaque 타입은 타입 ID를 유지한다. 하지만 컴파일러는 타입 정보에 접근할 수 있지만 모듈의 클라이언트는 그..
이번 글에서는 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에서는 프로토콜을 익스텐션 해서..
- Total
- Today
- Yesterday
- 코딩테스트
- 코테
- Publisher
- BFS
- 알고리즘
- DP
- 앱개발
- Apple
- mac
- pattern
- 백준
- System
- 테이블뷰
- 스위프트
- IOS
- 동시성
- 프로그래밍
- document
- 아이폰
- Xcode
- Combine
- operator
- OSTEP
- Swift
- 문법
- OS
- operating
- 자료구조
- dfs
- design
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |