Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

SwiftUI107

[Stanford] 카드매칭 게임(@ObservableObejct, @ObservedObject, @Published) MVC MVVM MVVM은 그래픽 사용자 인터페이스(뷰)의 개발을 비즈니스 로직 또는 백-엔드 로직(모델)로부터 분리시켜서 뷰가 어느 특정한 모델 플랫폼에 종속되지 않도록 해주는 패턴이다. https://velog.io/@ictechgy/MVVM-%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B4 MVVM 디자인 패턴 in iOS MVVM은 그래픽 사용자 인터페이스(뷰)의 개발을 비즈니스 로직 또는 백-엔드 로직(모델)로부터 분리시켜서 뷰가 어느 특정한 모델 플랫폼에 종속되지 않도록 해주는 패턴이다. → 패턴을 쓰고자 velog.io 개인적으로 지금은 아래 설명이 그나마 잘 와닿는 것 같다. 'UIKit - MVC' 구조는 event driven 방식인데, 'SwiftUI.. 2023. 3. 26.
[Stanford] 카드게임 MVVM 적용 (미완성) https://www.youtube.com/watch?v=--qKOhdgJAs&t=2909s MVVM ContentView만 있던 기존 프로젝트에서 MVVM 패턴을 적용해 파일 관리 시작 ViewModel ViewModel은 중재자 역할이기에 공유성이 강한 클래스로 설계 뷰모델 안에서 모델을 형성하는데, 뷰나 모델 등 다른 객체가 해당 모델을 변경하지 못하도록 접근제어 (Private) Private(set)을 걸어주는 방식도 가능하고 위와 같은 코드는 model 자체가 private 하기 때문에 모델의 카드에 따로 접근할 수 있도록 카드 변수를 만들어 준 것. 다만 코드구성을 보면 클래스 인스턴스가 생성될 때 각 프로퍼티의 생성 순서는 랜더믹 하기 때문에.. 지연 저장 속성인 lazy를 떠올렸으나, 강.. 2023. 3. 26.
[Stanford] MVVM MVVM 코드를 관리하기위해 기존 UIKit에서 자주 사용하던 MVC 패턴과 다른 디자인 패러다임 Model - View - ViewModel 스유에서 MVVM은 빼놓을 수 없다. View - User Interface Code 유저에게 앱이 "어떻게 보여지고 있는가?" Return a UI that reflects the state of the Model Immutable * Stateless * Declared * Reactive Model - 백엔드나 앱 로직 관련 Data + Logic - UI Independent -> 스위프트 파일에서 SwiftUI 임포트 안함. Model is what your application actually is and does 명령적 프로그래밍 -> UI를 그리기 .. 2023. 3. 25.
[Stanford] 카드 뒤집기 게임을 만들어 보자 SwiftUI로 코드를 작성 할 때, 뷰를 잘게 쪼개는 습관을 들이자. (함수도 최대한 쪼개는 것처럼) -> 작은 뷰들을 모아서(VSTack, HStack 같은 View Combiner..등) 만드는 것이 스유의 디자인 패러다임 레고 안에 레고 안에 레고 안에 레고 안에 레고 레고 레고 레고 레고 레고 레고... 이번 시간의 키워드는 아래 코드블럭에 정리해 보았다. @State onTapGesture identifiable Button HStack VStack SFSymbol LazyVGrid aspectRatio scrollView strokeborder behave like a View! @State 어트리뷰트..? 먼저 구조체에서 mutating 키워드가 생각났다. 값타입(ex.구조체)의 메서드가 .. 2023. 3. 23.
[Stanford] 스유(SwiftUI)를 시작해 보자 UIKit도 배워야 할 것이 산더미지만.. 애플 아카데미 챌린지에서 SwiftUI를 활용해야 하기에 조금씩 공부를 시작해 보려고 한다. 여전히 근본은 UIKit이라 생각하고 공부 비중 또한 UIKit에 많이 둘 예정이지만.. 새로운 언어나 프레임워크를 배우는 것에 소극적인 태도는 좋은 개발자가 되기 위한 과정과 거리가 있다고 생각하기에 즐거운 마음으로 임하려고 한다 :) 다양한 강의들이 있지만 우선 스탠포드 대학교에서 제공하는 Stanford CS193p 강의를 통해 시작할 예정이다. (네임벨류가 있으니.. 믿음직스럽기 때문) 어차피 UIKit을 사용하며 익혔던 개념들이 많이 등장할 거 같으니 그때그때 비교해가며 공부하는 것도 좋을듯하다. 1강부터 가보자. https://www.youtube.com/wa.. 2023. 3. 21.