 Apple Lover Developer & Artist

영속적인 디자인에 현대의 공감을 채워넣는 공방입니다

반응형

 Apple 72

Lecture 4 Review Part1: Memorize Game Logic

이전에 구현한 Model 과 ViewModel을 SwiftUI로 구현한 View에 연동해보는 시간을 가질 것입니다. View 구현에서 카드를 불러오거나, 뒤집는 등의 Model이나 View Model을 통해 이루어져야 하는 코드를 지워줍니다. struct ContentView: View { // Model의 내용을 보여주는 Agent @Main에서 설정함 var viewModel: EmojiMemoryGame var body: some View { ... } } Swift UI를 통해 선언된 View 구조체의 상단에 viewModel 프로퍼티를 선언해준다. Swift에서 모든 상수나 변수는 무조건 값을 가지고 있어야 하는데 위 코드에는 type 만 명시되어 있고 값을 할당하는 코드가 보이지 않는다. 이게..

Lecture 3 Review Part 2: MVVM and the Swift type system

이번 시간에는 Swift Programming Language 에서 제공하는 Type System 에 대해 탐구해 볼 것이다. Swift 의 토대를 이루고 있는 6가지 타입들을 이해하지 못하면 결국 Swift 또한 이해하지 못하기 때문이다. struct ContentView, CardView와 같은 UI, Memorize 게임에서의 Model이 struct의 한 예시이다. class Object-Oriented Programming 을 구현할 수 있으며 MVVM에서의 View Model이 한 예시이다. struct와 class의 공통점 문법이 비슷하다. 예를들어 구조체 내부에 함수나 변수를 선언할 때에는 다음과 같은 동일한 구문을 통해 구현된다. var isFaceUp: Bool // 일반적인 변수 선언..

Lecture 3 Review Part 1: MVVM and the Swift type system

MVVM Design Paradigm MVVM (Model View ViewModel) 은 Design Paradigm 중 하나이며 SwiftUI 를 사용하기 위해 반드시 MVVM 설계 방식을 적용해야 한다. *Design paradigm * Makes it clear where all the diffrent components of your code go and how they interact with each other. 이전 방식으로 앱을 개발할 때 사용되는 UIKit 은 MVC (Model View Controller) 를 사용하며 MVVM 과는 다른 종류의 개발 방식이기 때문에 혼동하면 안된다. MVVM 과 MVC 는 User Interface Code (View) 와 Backend Logic ..

Lecture 2 Review Part 2: Learning more about SwiftUI

지난 강좌에 이어 계속해서 UI 를 발전시키는 시간이다. 앞에서 해온 것과 마찬가지로 본래 코드의 문제점을 찾고 계속 개선해 보는 시간을 가져본다. 카드마다 서로 다른 이모티콘을 띄우는 방법은 없을까? 고민을 해보았다. 간단하게 구조체에 카드에 들어갈 content 변수를 추가한 후에 CardView 인스턴스를 생성할 때마다 서로 다른 content 값으로 초기화 해주면 되겠네! 라고 생각하고 위처럼 코드를 작성해 보았다. 하지만 이 방식 또한 문제점이 있다. 만약 카드가 단 4장이 아니라 수백장이었다면 하나 하나 content 값을 적어서 초기화 해주어야 하는가? 해보지 않아도 아주 귀찮아지는 방식이라는 것이 예측되는 바이다. 우리에겐 이 코드를 개선할 수 있는 비장의 자료구조가 존재한다. 가장 기본적..

Lecture 2 Review Part 1: Learning more about SwiftUI

지난 시간 회고해보기! 지난 수업에서는 View Protocol 의 힘을 빌려 Hello world 텍스트에 padding 값을 주고 색상도 바꿔보고 combiner 를 활용하여 여러가지의 UI 컴포넌트를 합쳐보기도 하였다. Swift UI 를 통해 새로운 함수형 프로그래밍을 경험해보기도 했고 간단한 Swift 구조체 문법을 살펴보기도 했다. 지난 시간 배웠던 개념들에서 한걸음 더 들어가보자! HStack A view that arranges its children in a horizontal line. ZStack 이 UI 컴포넌트를 장치의 화면쪽에서 사용자 방향으로 쌓아가는 Combiner 였다면 HStack 은 장치의 Horizental 방향으로 UI 컴포넌트를 나열해주는 역할을 한다. 위의 예시 ..

반응형