본문 바로가기

전체 글31

Protocol Default Implementation in Swift 안녕하세요 여러분 오늘은 간단한 스위프트 관련 주제를 들고 와봤습니다. 바로 Protocol Default Implmentation 인데요! 저도 알게 모르게 사용하던 것이었는데 헷갈리지 않게 정리를 좀 해보도록 하겠습니다. 프로토콜은 기본값을 구현해놓지 않고 해당 프로토콜을 채택한 부분에서 관련된 기능을 구현하기 위해 사용하는 경우가 저는 좀 많았는데요. Default Impementation 을 사용하게 되면 마치 class 에서 부모의 함수를 사용하는 것과 비슷하게 구현을 할 수가 있게 됩니다. 바로 extension 으로 구현을 하면 되는데요. 아래와 같이 작성하시면 됩니다. protocol CustomProtocol { func say(msg: String) } extension CustomPr.. 2020. 4. 10.
예제로 살펴보는 MVI Design Pattern with RxSwift 안녕하세요 여러분? 저번 시간에는 MVVM 디자인 패턴을 살펴보았는데요. 이번에는 약간 생소한 MVI 라는 패턴을 들고 찾아왔습니다. MVI 는 Model - View - Intent 로 구성되어 있는 단방향(Uni-Directional) 아키텍쳐 중 하나인데요. MVVM 의 경우 VM 이 Model 과 View 의 사이에서 양방향으로 통신하기 때문에 자칫 잘못하다간 VM 이 비대해지는 부작용이 발생할 수가 있습니다. 이러한 부작용을 해결하기 위해서 MVI 의 경우는 뒤를 돌아보지 않는 단방향 상남자의 아키텍쳐라고 볼 수 있겠습니다. View 에서 액션을 입력 받으면 Intent 에서 모델의 상태를 변환시키고, 그 변환된 상태의 모델을 뷰에 전달하여 유저에게 보여준다고 보시면 되겠습니다. 그런데 이렇게 .. 2020. 4. 8.
예제로 살펴보는 MVVM Design Pattern with RxSwift 안녕하세요 오늘은 아키텍쳐에 대해 좀 살펴보려고 합니다. iOS 개발자 분들이라면 기본적으로 MVC 패턴에 익숙하실텐데요 Massive View Con... 아,,닙니다. Model-View-Controller 패턴입니다 ;; 뷰컨트롤러에 여러가지 로직들이 들어가게 되어 뷰컨트롤러가 굉장히 무거워지게 되는 패턴이기 때문에 요즘 개발자분들은 많이 사용을 안하시려고 하는 것 같습니다. 그래서 요즘 핫하게 떠오르고 있는 대안이 바로 MVVM 인데요. Model-View-ViewModel 로 구성되어 있는 아키텍쳐입니다. MVVM 에서는 View 는 절대 Model 을 알 수 없고, ViewModel 이 Model 과 통신을 해서 View 에 해당 사항을 전달해주고,(Presentation Logic) 전달받은.. 2020. 4. 7.
iOS13 이상에서 스토리보드 없이 시작하기! 저는 스토리보드를 별로 좋아하지 않아서 신규프로젝트를 할때 무조건 스토리보드를 날리고 시작하는데요. 이전에는 AppDelegate 부분에서만 작업을 해주면 되었지만 SceneDelegate 가 나오면서 추가적으로 처리를 해줘야하는 부분이 생겼습니다. 일단 기존처럼 시원하게 Main.storyboard 파일을 지워버립시다. 그리고 Info.plist 부분에서 Application Scene Manifest -> Scene Configuration -> Application Session Role 에서 Storyboard name 을 삭제해줍시다. 이번엔 AppDelegate.swift 부분으로 가볼까요? 예전과는 달리 window 가 없습니다만, 걱정하실 거 없습니다. 추가해주시면 됩니다. iOS 13 이.. 2020. 4. 3.