안녕하세요 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 클래스와 서브 클래스의 계층 구조와 함께 타입 캐스팅을 사용하여 특정 클..
문제 링크 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..
- Total
- Today
- Yesterday
- 자료구조
- 알고리즘
- 코테
- mac
- OS
- operating
- DP
- 프로그래밍
- BFS
- System
- 테이블뷰
- document
- pattern
- operator
- 스위프트
- 백준
- design
- IOS
- Publisher
- Apple
- OSTEP
- 코딩테스트
- dfs
- 아이폰
- Combine
- 문법
- Xcode
- 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 |