To Do List (2)
1. Lv 2. Todo 추가 및 완료기능 구현하기 추가기능 구현 우선 추가기능을 구현하려면 Alert를 만들어야 한다. 블로그를 참고하여 만들었다. struct MainView: View { @State private var showing = false @State private var title = "" var...
1. Lv 2. Todo 추가 및 완료기능 구현하기 추가기능 구현 우선 추가기능을 구현하려면 Alert를 만들어야 한다. 블로그를 참고하여 만들었다. struct MainView: View { @State private var showing = false @State private var title = "" var...
이전에 사용하던 UIKit이 아닌 SwiftUI를 사용하여 ToDoList를 만들어 본다. 이전에 내배캠에서 하던 양식을 그대로 해서 만들어보려고 한다. LV 1. ToDoList 화면 만들기 1. 디자인 NavigationBar 추가 우선 추가하기 버튼이 있는곳은 NavigationBar를 사용하여 만들 예정이다. 우선 Navigati...
APIResponse를 UIModel에 파싱하기 이전에는 Json으로 데이터를 가져오지 않았기에 let uiModel = HomeUIModel(sectionModels: [ .init(section:.mainBanner(id: "123"), body: [ 이렇게 ViewDidLoad에 값을 넣어 주었는데, 이젠 JSON에 ...
FileManager Extension 구성하기 extension FileManager { static func modelFromJSON<T: Decodable>(fileName: String) -> T? { guard let path = Bundle.main.path(forResource: fi...
Tap 이벤트를 VC로 전달하기 Combine의 EventPublisher를 사용하여 할것이다. HomeCollectionView에서 진행한다. enum Event { case itemTapped(HomeUIModel.Item) } private let eventSubject = PassthroughSubject<Ev...
다른 Course Swimlane을 추가 코드는 생략 이미지로 대체한다. HomeVC에서 내용을 추가, 수정했다. FeaturedCourseView 추가 CourseView의 내용을 가져오되, tag만 지워준다. 그리고 높이만 바꿔주었다. struct FeaturedCourseView: View { let imageLink: S...
CategoryTextHeader 추가 .init(section: .textheader(id: "1233332"), body: [ .textHeader(id: "1234fds", text: "Categories", highlightedText: nil) 이렇게 적어주면 Categories가 생긴다. CategoryV...
지금까지 빨간색 테두리로 된 부분을 만들었다. 주황색 테두리가 이제 만들 CourseView이다. 그전에 조금 수정을 한다. Textheader 간격주기 private func makeMainBannerSection() -> NSCollectionLayoutSection { let itemSize = NS...
이전에 Background Color를 Green으로 했던걸 지워준다. private func setup() { register(MainBannerCollectionViewCell.self, forCellWithReuseIdentifier: MainBannerCollectionViewCell.namedIdentifier) } ...
MainBannerCollectionViewCell 추가하기 이 파일은 View에 있지만, SwiftUI를 import 해주었다. import SwiftUI를 하게되면 UIkit 을 별도로 import를 해야하나? 이렇게 Definition을 보게되면 SwiftUI안에 UIKit을 이미 import한게 내장이...