이번 글에서는 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 클래스와 서브 클래스의 계층 구조와 함께 타입 캐스팅을 사용하여 특정 클..
문제 링크 Integer Break - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the maximum product you can get. Example 1: Input: 2 Output: 1 Explanation..
이번 글에서는 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..
이번 글에서는 여러 가지 디자인 패턴 중 iOS 앱 개발에 적용되는 MVC(Model-View-Controller)에 대해 알아보려고 한다. Apple Developer Document - Model-View-Controller Model-View-Controller Model-View-Controller(MVC) 디자인 패턴은 꽤 오래되었다. 이는 글로벌 아키텍처와 관련되어있고 일반적인 역할에 따라 객체를 분류한다는 점에서 높은 수준의 패턴이다. 객체 지향 프로그램에서 MVC 디자인 패턴을 적용하면 여러 가지 장점이 있다. 객체 지향 프로그램에서 객체는 재사용 가능성이 높고 서로의 상호작용이 잘 정의되어있다. 이는 MVC 디자인 패턴을 기반으로 하는 프로그램이 변화하는 요구사항에 잘 적응할 수 있다는 ..
이번 글에서는 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
- document
- dfs
- BFS
- DP
- 동시성
- Swift
- Apple
- 코딩테스트
- 앱개발
- pattern
- Combine
- 알고리즘
- operator
- 아이폰
- operating
- 자료구조
- Publisher
- IOS
- design
- 코테
- System
- OSTEP
- 프로그래밍
- 백준
- OS
- 테이블뷰
- 스위프트
- mac
- 문법
- Xcode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |