본문 바로가기

SWiFT45

[Design Pattern] Coordinator Pattern 기존에 화면전환 로직을 분리하기 위해서 Coordinator Pattern을 사용한 적이 있는데, 자세히 알아보지 않고 사용해본 것 같아서 정리해보려한다. Coordinator? Coordinator Pattern을 만든 khanlou의 글에 따르면.. What is a coordinator? So what is a coordinator? A coordinator is an object that bosses one or more view controllers around. Taking all of the driving logic out of your view controllers, and moving that stuff one layer up is gonna make your life a lot more.. 2022. 7. 29.
[Swift] Hashable 와 너무 졸리다 오늘은 Hashable.. 그저 딕셔너리의 키, 세트같은 중복값이 들어갈 수 없는 애들은 Hashable하다 라고만 알고있었는데, 저번주에 combine인가 hash 인가하는 메서드를 보고 공부해봐야겠다고 느껴서.. 먼저 Hashable이란 정수 해시값을 제공하여 유일하게 표현이 가능한 방법을 제공하는 프로토콜이다. 보통 hash한 값이다.. 하면 뭐.. 유일한 값, 중복되지 않는 값 -> UUID...? 뿐이 생각안나네 ㅋㅋㅋ오 때려맞춤 ㅋㅋㅋㅋ 요건 UUID에 대한 잼난 글이 있길래.. https://medium.com/@jang.wangsu/ios-swift-uuid는-어떤-원리로-만들어지는-것일까-22ec9ff4e792 [iOS, Swift] UUID는 어떤 원리로 만들어지는 것일.. 2022. 5. 2.
Swift) COW(Copy On Write) 오늘은 미루고 미루던 COW에 대해 좀 알아보려 한다. COW란? COW는 Copy On Write의 줄임말로.. "뭔가 쓸 때 복사를 한다"는 말이다. 뭔가 쓸 때 복사를 한다.. 참고 GitHub - apple/swift: The Swift Programming Language The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub. github.com 해당 개념은 Swift에만 국한되지 않고 대부분의 컴퓨터 프로그래밍에 사용이 되는데, 정확히 어떤 개념이냐면.. 실제 원본이나 복사본이 수정되기 전까지는 복사가 이뤄지지 않고 원본을 공유하다가, 원본이나 복사본에서 수정이 일.. 2022. 2. 20.
Swift) self vs Self self vs Self 그냥 간단하게.. self 소문자로 이뤄진 self의 경우, 특정 인스턴스에 접근할 때 사용하는 참조값이다. 자기 자신의 인스턴스를 가리키는 프로퍼티로, 용도는 다음과 같다. The self expression is used to specify scope when accessing members, providing disambiguation when there’s another variable of the same name in scope 명확성을 위해 class SomeClass { var greeting: String init(greeting: String) { self.greeting = greeting } } 인스턴스 프로퍼티로 선언된 greeting이라는 변수와, 이니셜라.. 2022. 2. 20.
Swift) hitTest Responder Chain을 공부하던 도중.. 이 내용도 알아야할 것 같아서.. Hit Testing hitTest라는 메서드가 있다. 이는 UIView의 인스턴스 메서드이다. 이 메서드를 통해 어떤 View가 이벤트를 처리할지 결정할 수 있다. 해당 메서드는 두개의 파라미터가 있는데, 말로 좀 풀어서 메서드를 설명해보자면.. 특정 포인트에 속하는 뷰 중, 특정 이벤트를 처리할 수 있는 뷰가 있느냐? 있으면 그 뷰의 하위계층(자식)은 처리할 수 있음? 여기서 나뉜다. 자식이 이벤트를 처리할 수 있는 경우와 없는 경우 아 처리할 수 있음?? 걔(자식)의 자식(자식의 자식)도 처리할 수 있음? 아 안됨? 그럼 너(부모)가 리턴 고 설명이 잘 됐을랑가 모르겠지만, 이벤트를 받을 수 없는 뷰가 나올때까지 파고.. 2022. 2. 20.
Swift) CoreData CoreData 어렵더라.. 아니 생각보단 괜찮은건가 여튼 CRUD까지는 괜찮더라 Core Data는 주로 크거나, 복잡한 관계를 가진 그런 유저의 데이터를 저장하는 데 쓰인다. Core Data를 보면 저장하는데만 쓰이는 것은 아니다. 정의만 봐도 알 수 있듯 저장을 하기위한 UserDefaults와는 다르다. 얘는 클래스고, Default System에 접근할 수 있는 인터페이스를 제공한다. 그리고 접근해서 저장하고, 사용한다. 얘는 프레임워크다. 위 공식문서에 들어가면 알 수 있듯, 여러가지를 할 수 있는 프레임워크이다. 저장을 하든, 백업을 하든, 이전 상태로 되돌리든.. 그 중 Persistence에 대해서 알아보려한다. CRUD 우선 CRUD전에 초기셋팅은 해줘야 하니깐 초기셋팅부터 해보자 나.. 2022. 2. 20.