본문 바로가기

Swift

(53)
Initialization - 무엇인가 공식문서를 읽고 번역한 것입니다. 초기화는 클래스, 구조체, 열거형 인스턴스를 사용하기 위해서 준비 작업을 하는 단계입니다. 이 단계에서는 각 저장 프로퍼티의 초기 값을 설정합니다. 초기화 과정은 initializer를 정의하는 것으로 구현할 수 있습니다. 초기화와 반대로 여러 값, 자원의 해지를 위해서 deinitializer를 사용할 수 있습니다. (Swift의 initializer는 값을 반환하지 않습니다. ) 저장 프로퍼티를 위한 초기값 설정 인스턴스의 저장 프로퍼티의 경우, 사용하기 전에 반드시 초기 값을 설정해야 합니다. 이 값을 기본 값으로 설정할 수 있고 특정 값으로 설정할 수 있습니다. initializer에서 저장 프로퍼티에 값을 직접 설정하면 프로퍼티 옵저버가 호출되지 않고 값 할당이..
Hashable 오늘의 목표는 Hash 개념과 관련된 개념을 공부하면서 iOS 개발자 면접 질문 리스트 중 하나인, Hashable이 무엇이고 왜 Equatable을 상속해야 하는지 설명하시오. 에 대해 알아보도록 하겠습니다. 그리고 Hash라는 개념 자체는 이를 바탕으로 자료구조를 생각해서 코딩 테스트를 잘 풀 수 있습니다. (아마도? Hash Hash? Hash Table? 📌 Hash 해쉬, 해쉬값이란 데이터를 간단한 숫자로 변환한 것을 말합니다. 원본 데이터에 대해서 특정 규칙에 따라 처리하여 간단한 숫자로 변환된 값을 해쉬 값이라고 합니다. 여기서 말하는 특정 규칙은, 원본 데이터(객체)를 해쉬 함수를 사용해서 64bit의 Int값으로 변환한 것을 말합니다. ✅ 데이터가 동일하면 각 데이터의 해쉬값도 동일합니다..
MVVM+RxSwift RxSwift를 MVVM 디자인 패턴과 함께 사용하면 보다 효과적으로 사용할 수 있습니다. MVVM 디자인 패턴에 대해서 간단하게 알아보고, RxSwift를 적용하는 방법을 예시를 통해서 알아보도록 하겠습니다. 먼저 많이 사용하고 있는 MVC 패턴에 대해서 알아보겠습니다. MVC 패턴 MVC 패턴은 대부분의 앱에서 사용되고, 애플에서 기본적으로 권장하는 디자인 패턴입니다. Model + View + Controller의 구조로 되어 있는 형태를 말합니다. - Controller가 View와 Model을 모두 업데이트 하고, - View는 화면에 UI, Model의 정보 등을 보여주는 역할만 하고, - Model은 앱의 정보를 업데이트하는 데이터를 읽고 씁니다. View와 Model은 서로에 대해 몰라야 ..
Type Casting Type Casting 타입 캐스팅은 인스턴스의 타입을 확인하거나, 해당 인스턴스를 슈퍼 클래스 또는 하위 클래스로 취급하는 방법입니다. Swift에서 타입 캐스팅은 "is" 또는 "as" 연산자로 구현하며, 타입 캐스팅을 사용하여 타입이 프로토콜에 적합한지 여부도 확인할 수 있습니다. is : Checking Type 표현식 is Type 타입을 체크하는 연산자로 런타임 시점에 실제 체크가 이루어집니다. 표현식이 Type과 동일거나, 서브 클래스라면 true이고 이 외의 경우에는 false입니다. 🤔 서브 클래스인 경우에도 true를 반환한다고? class Human { let name: String init(name: String) { self.name = name } } class Sokyte: H..
Concurrency Programming - Intro 오늘은 Concurrency Programming에 대해서 알아보겠습니다. 애플 공식 문서를 통해서 알아보도록 할게요 !! 원문은 을 참고해주세요. 😈 원문에 들어가기 전, 프로세스와 쓰레드에 대한 개념을 정리하고 가도록 하겠습니다. 프로세스 프로세스란, 운영체제로부터 시스템 자원을 할당 받는 작업의 단위를 말합니다. 프로세스들은 각각의 독립된 메모리 영역을 할당 받습니다. 따라서, 프로세스들끼리는 서로의 변수, 자료구조에 절대 접근할 수 없습니다. -> 만약, 서로 다른 프로세스가 각 프로세스의 자원에 접근하려고 한다면? 프로세스 간의 통신 (= 파일, 소켓) 등을 해야합니다. 멀티 프로세스 위에서 말한 프로세스가 다수로 구성되는 것을 말합니다. 하나의 프로그램을 여러 개의 프로세스로 구성하여 각 프로..