본문 바로가기

swift24

예제로 살펴보는 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.
Insertion Sort Swift 오늘은 Insertion Sort 를 Swift 로 간단하게 구현해보도록 하겠습니다. 시간복잡도는 O(n^2) 으로 최적화된 정렬은 아닙니다만, 가장 간단하게 구현할 수 있는 정렬 중 하나라고 할 수 있겠습니다. func insertionSort(_ arr: [Int]) -> [Int] { // O(n^2) var a = arr for i in 1.. 0 && a[j] [Int] { // O(n^2) var a = arr for var i in 1.. 0 && a[i] < a[.. 2020. 3. 24.
Swift 로 알아보는 객체지향 프로그래밍 - 2 전 시간에서는 객체 지향의 기본 요소들에 대해 알아보았는데요. 이번 시간에는 객체 지향의 핵심 개념! 에 대해서 알아보도록 하겠습니다. 1. 캡슐화 (Encapsulation) 2. 상속 (Inheritance) 3. 다형성 (Polymorphism) 먼저 캡슐화에 대해서 알아보겠습니다. 캡슐화는 말 그대로 객체를 하나의 캡슐로 만들어서 내부에 있는 것들을 보호할 수 있게 하는 것이라고 보시면 되겠습니다. 즉 내부에 있는 것들에 직접적으로 접근할 때 일어날 수 있는 예외적인 사항들을 제거하기 위해 접근을 인위적으로 제어하는 것이라고 보시면 편하실 듯 합니다. 이를 위해 접근제한자들을 프로퍼티 앞에다가 지정해두는데, 이 부분은 다음 시간에 자세하게 알아보도록 하겠습니다. 두번째는 상속인데요. 상속은 제가 .. 2020. 2. 19.