728x90 반응형 SwiftUI11 [SwiftUI] Http 통신을 MVVM 패턴 예제로 이해하기 애플리케이션을 생성할 때 일반적으로 API에서 일부 데이터를 가져오기 위해 HTTP 요청을 해야 합니다. 이를 위해 SwiftUI에서 패키지 관리자(Swift-Request 또는 Alamofire와 같은)를 사용할 수 있지만 자체 HTTP 요청 함수를 만드는 것은 매우 쉽습니다. 어떻게 하는지 봅시다. 이 자습서에서는 무료 REST API인 JSONPlaceholder를 사용합니다. 10명의 사용자 목록을 가져와서 보기에 표시하기 위해 /users 엔드포인트를 호출합니다. 안녕하세요. 오늘은 http 통신을 알아 보려고 합니다. 위 설명은 개략적인 소개 내용입니다. 설명은 주석으로 소스에 설명을 넣겠습니다. MVVM 패턴을 잘 사용한 샘플입니다. // ~App.swift import SwiftUI @ma.. 2022. 10. 31. [SwiftUI] MVVM 패턴을 샘플 코드로 간단히 이해하기 안녕하세요. 오늘은 MVVM 패턴에 대해서 알아 보겠습니다. M-V-VM 은 Model, View, View Model의 약자입니다. Model : 사용자 정보, 상품 정보 등 여러 정보를 담고 있습니다. 단순 정보 뿐 아니라 많은 로직과 비즈니스 룰이 있어 사용자에게 숨길 필요가 있습니다. View : Model 정보를 View에서 보여줍니다. View Model : View에서 보여 주고 싶은 정보만 Model에서 가져옵니다. 그리고 View에서 업데이트된 정보가 있다면 View Model이 중간에서 매개체 역할을 해서 Model에 전달합니다. MVVM 패턴을 적용한 아래 샘플앱은 Increment를 클릭하면 1씩 숫자가 높아집니다. 만약 3의 배수가 되면 화면에 Premium을 보여줍니다. // C.. 2022. 10. 31. [SwiftUI][Launch Screen] 첫 화면 뛰우기를 샘플 코드로 이해하기 안녕하세요. 오늘은 "Launch Screen"을 만들어 볼겁니다. Launch Screen은 앱이 처음 시작할때 앱의 상직적인 이미지를 유저에게 각인 시킬수 있는 좋은 도구입니다. 거의 모든 앱은 Launch Screen을 갖고 있다. iOS와 tvOS 둘다 동일하게 적용됩니다. SwiftUI 프로젝트를 만들면 ~App.swift 파일과 ContentView.swift 파일이 생성됩니다. ContentView.swift 파일에서만 작업을 합니다.. body 내 VStack을 ZStack으로 바꾼다. 아래 코드 주석을 참고 바랍니다. // ContentView.swift import SwiftUI struct ContentView: View { // isLoading 상태 값을 추적하여 변경 시 반영합니.. 2022. 10. 31. [SwiftUI] 생성과 뷰 결합 (애플 튜토리얼 대략 설명) 그림 1. xcode에서 프로젝트를 생성한다. 그림 2.와 같이 iOS에서 App를 선택한다. 그림 3.과 같이 프로젝트명을 쓰고 Interface에서 SwiftUI를 선택한다. 그리고 Language는 Swift를 선택한다. // 프로젝트명 + App.swift import SwiftUI @main struct LandmarksApp: App { var body: some Scene { WindowGroup { ContentView() } } } 기본적으로 프로젝트명 + App.swift와 ContentView.swift 파일이 생성된다. Xcode에서 ContentView.swift 파일을 선택하면 그림 4.와 같이 왼쪽에는 코드가 오른쪽에는 미리보기가 보인다. 신규 swiftUI 파일을 만들때는 F.. 2022. 10. 26. [tvOS][SwiftUI] 기본 샘플 앱 설명 그림 1. 그림 2. 그림 3.은 결과 화면이다. 아래 참조 사이트에 해당 프로젝트를 다운로드 받을 수 있다. // RickTVApp.swift // 1 @main // 2 struct RickTVApp: App { // 3 var body: some Scene { // 4 WindowGroup { ContentView() } } } @main은 앱 시작 지점이다. 첫 시작은 App를 상속 받아야만 한다. // ContentView.swift @ObservedObject var dataProvider = DataProvider() @ObservedObject는 앱 데이터 변경 사항을 수신할 수 있다. 만약 연관된 뷰에 대해서만 변경 사항을 받고 싶은 경우는 @State를 쓴다. // VideoThumbn.. 2022. 10. 25. 이전 1 2 다음 728x90 반응형