Home

TourApp (6)

Api 적용하기 우선 json으로 만든 파일을 웹사이트에 올려 api처럼 가져오게 했다. 이후, Medium 글을 통해서 코드를 작성했다. 이글을 통해서 작성한것은 바로 Generic을 사용했다는 점이다. 이전에 Generic을 사용해본적이 없기에 이번에는 좀 사용하면서 내걸로 조금씩 만들고 싶었다. ApiModel 만들기 struct ApiModel: Codable { let tours: [Tour] } enum NetworkError: Error { case badUrl case invalidRequest case badResponse case badStatus ...

Read more

TourApp (5)

회고중 있었던일 정리 오늘은 크게 한게 없어서 같이 공부하던분의 문제점을 좀 같이 해결하면서 있었던 일을 정리해보려한다. 문제점 우선 문제는 이전에 scrollview를 사용하려할때 Frame을 설정하지않으면 사이즈가 바뀌게되는데 이때 나는 귀찮아서 frame을 수동으로 설정을 주고 하다가 귀찮아서 Scrollview를 해제하고 그냥 Vstack을 사용하고 넘어갔다. 근데 팀원분은 사이즈를 나처럼 고정값이 아닌 Device에 따라서 이미지를 유동적으로 설정하고 싶다고 했다. Text는 괜찮았으나 Tabview에서 이미지가 제대로 사이즈 조절이 안되는게 문제였다. 여러시도 코드는 팀원분것이 아닌 내걸로...

Read more

TourApp (4)

json 적용하기 우선 json 양식으로 파일을 바꿔준다. 이때 이전과 특이점이라면 json 로드가 from server가 아닌 from local이라는것. 모델링 모델링을 해준다. struct JsonModel: Codable { let tours: [Tour] } // MARK: - Tour struct Tour: Codable { let title: String let imageURL: String let description, address: String let latitude, longitude: Double let resList: [ResList] ...

Read more

TourApp (3)

DetailView 꾸미기 & PageView 꾸미기 Page view 꾸미기 이전에 회고를 하던도중 Tabview를 통해 UIKit의 TabBarViewController로 쓸수있고 이미지를 페이징하면서 넘기는 방식으로도 사용이 가능하다고 하여 그걸 적용해보기로했다. @State private var currentPage: Int = 0 TabView(selection: $currentPage.animation()) { ForEach(lists.indices, id: \.self) { index in VStack { ...

Read more

TourApp (2)

DetailView 꾸미기 MapKit 사용하기 먼저 import를 해준다. 내용은 사이트 Map(position: $cameraPosition) { Annotation(title, coordinate: coordinate) { ZStack { Image(systemName: "flag.checkered") } } } 기본적인건 Map()이고 Annotation pin도 UIKit과는...

Read more

TourApp (1)

이번엔 그냥 간단하게 관광지 소개 앱을 만들어 보려고 한다. 지금은 간단하게 하려고 하고 나중에 조금 더 발전 시킨다면 그때는 Grid를 사용해서 꾸미지 않을까나 List를 사용했고 기본적인것은 패스 이번엔 SwiftModel을 사용하지 않고 만들어 보려고 한다. struct TourModel: Hashable { var title: String var image: String func hash(into hasher: inout Hasher) { hasher.combine(title) } } SwiftModel을 사용할때는 class...

Read more

To Do List (5)

수정기능 마무리 func modifyList(title: String) { let i = todoLists.firstIndex { list in list.title == title } todoLists[i!].title = title } 함수를 이렇게 적용하였으나 바뀌지 않았다. 생각해보니 파라미터를 잘못했다. func modifyList(currentTitle: String, modifiedTitle: String) { let i = todoLists.firstIndex { list in list...

Read more

To Do List (4)

수정 기능 추가하기 Leading edge부에도 SwipeAction을 추가하여 수정을 하게 만들어보려고한다. VStack { List(todoLists, id: \.self) { list in CellView(isOn: list.isCompleted, title: "\(list.title) id: \(list.id)") .swipeActions(edge: .trailing) { Button(action: { ...

Read more