지수네

  • |
  • Me
  • |
  • Portfolio
  • |
  • |

iOS에서 MVC는 왜 망가질까

November 24, 2018

한때 대표적인 아키텍쳐로 칭송받던 MVC패턴이 지금은 Massive ViewController로 조롱받고, 금기시 되는 패턴으로 여겨지고 있습니다. 왜 Massive 해지는지 이해가 없는 상태에서 MVP, MVVM, RIBs등 유행하고 있는 패턴을 적용하면Massive ViewController와 마찬가지로 Massive Presnter, Massive ViewModel를 피할 수 없습니다. 이번 포스팅은 어떤 오해로 인해 MVC가 Mas... 계속 읽기

UIResponder와 inputView, inputAccessoryView

November 21, 2018

이번 글에서는 First Responder와 inputView, inputAccessoryView 에 대해 알아보고, 다음글 에서는 위 내용을 바탕으로 메시지 앱의 데모를 제작해봅니다. Responder First Responder 을 이해하기 위해서는 UIResponder를 먼저 살펴봐야 합니다. UIResponder에는 모션, 터치, 입력에 관련하여 인터페이스가 정의되어 있는데 앞으로 알아볼 inputView, inputAccesso... 계속 읽기

RxSwift 친화적 프로젝트 만들기

October 12, 2018

RxSwift(Reactive)는 비동기 데이터 흐름, 바인딩등을 위해 많은 프로젝트에서 사용하고 있습니다. Rx를 프로젝트에 어떻게 적용하거나 기존의 부분을 대체할지에 대해 프로토콜 중심으로 다뤄봅니다. 글 이해를 위해서 RxSwift 4.3기준, RxSwift에 대해 지식이 필요합니다. Observable로 Protocol 만들기 순수한 swift를 이용해 비동기 콜백을 만들때는 클로저를 이용합니다. Rx를 이용하면 클로저를 Obs... 계속 읽기

공변성과 반공변성 그리고 불변성

September 25, 2018

리스코프 치환 원칙에서 공변성(covariance) 과 반공변성(contravariance)과 연관된 내용이 나온다. 이번 글에서는 공변성, 반공변성, 불변성에 관하여 swift코드를 통해서 다뤄본다. 뜻 공변성과 반공변성은 상대적인 성질을 갖고 기준에 따라 달라진다. B가 A를 상속받고, C가 B를 상속받았다면, B를 기준으로 C는 B의 하위타입으로 공변성이다. B는 A의 하위타입으로 반공변성이다. class를 기준으로 subtype이... 계속 읽기

swift에서 메서드를 파라미터로 넘기기

September 13, 2018

swift에서는 인스턴스 메서드(instance method)를 클로저를 대신해 전달할 수 있습니다. reference type인 class와 value type인 struct간의 차이도 존재합니다. class 에서의 기본 동작 class에서는 강한 참조를 발생시킵니다. 많은 경우에 순환 참조를 발생시켜 메모리 릭을 발생시킵니다. class Foo { func emptyFunc() { } deinit { prin... 계속 읽기
이전 다음