분류 전체보기 140

71. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #13

🎯 Trouble Shooting[ 1. 현재 위치에서 검색 시 정렬 버튼 동기화 오류 ]초기 화면에서 정렬 버튼을 눌러서 정렬을 한 뒤다른 곳으로 지도를 이동해서 현재 위치에서 검색을 누르면 정렬 버튼이별점순으로 변경되지 않는 문제가 있다. [ 1-1. Mutation 추가 ]enum Mutation { case setStore([StoreSection]) case shouldPop(Bool) case setCurrentLocation(lat: Double, lon: Double) case showLocationAlert case setWebViewUrl(String) case sortStore([StoreSection]) // 데이터 정렬 case dismi..

70. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #12

🎯 Trouble Shooting[ 1. RxDataSource identity 설정에서 발생했던 Duplicate Error ]섹션을 하나만 사용하는 TableView에서 identity를 UUID로 설정했을 때애니메이션이 부자연스럽게 발생한다.또한 현재위치 버튼을 클릭했을 때, 불필요한 애니메이션이 발생한다. 변경 전extension StoreInfo: IdentifiableType { var identity: String { return UUID().uuidString } }struct StoreSection { var identity: String var items: [StoreInfo] init(items: [StoreInfo]) { self.identity..

69. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #11

👨🏻‍💻 오늘의 작업 [ 1. 발표 자료 만들기 - keynote ]금일 오후 4시 MVP 중간 발표회를 위해서 오전부터 팀원들과 발표 자료를 만들었다. [ 2. 앱 배포 심사 확인 ] [ 3. 앱 배포] 우리 팀은 어젯밤에 MVP 기능 구현을 완료하고 앱 배포를 위해 심사를 올려놓고 퇴실했다.오늘 오후 3시30분쯤 심사를 통과하여 우리 팀의 앱이 App Store에 배포되었다!! 앞으로 남은 기간은 UT를 통해 발견된 오류를 수정하고, 추가 기능들을 업데이트하려고 한다.

68. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #10

👨🏻‍💻 오늘의 작업 [ 1. 클로저 내 강한 순환 참조를 방지 - 메모리 누수 ] [Fix] 순환 참조 이슈 by heopill · Pull Request #89 · uddt-ds/EatsOkay📌 관련 이슈 closed: #78 📌 변경 사항 및 이유 클로저 내부에서 self를 사용하는 경우 [weak self]를 사용해서 강한 순환 참조를 방지 및 메모리 누수를 방지 viewWillAppear과 viewWillDisappear에서 네비게이github.com 예시 코드return NetworkManager.shared.fetchImage(mediaName: photoName) .map { googleUri in // 이전 코드 .map { [weak self] googleUri ..

67. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #9

🎯 Trouble Shooting[ 1. Duplicate item StoreInfo ]error MessageThread 1: Fatal error: Duplicate item StoreInfo(displayName: "버거킹 신림역점", primaryTypeDisplayName: "패스트푸드점", formattedAddress: "대한민국 서울특별시 관악구 서원동 86-42",latitude: 37.482641, longitude: 126.93015550000001, rating: 4.1, googleMapsUri: "https://maps.google.com/?cid=4429034559381451748", userRatingCount: 102, photosNames: "https://lh3.g..

66. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #8

🎯 Trouble Shooting[ 1. KingFisher를 이용하여 API 호출수 줄이기 ]API 호출수를 줄이기 위한 방법 찾기현재Google Places API -> 주변 검색 (신규) API를 사용해서 가게 정보를 받아옴 ->받아온 정보 중 PhotoNames을 장소 사진(신규) API를 사용해서 Photo Uri를 받아옴 문제다른 카테고리를 눌렀다가 돌아오거나, 같은 가게가 다시 검색되었을 때 매번 API 호출을 통해 가게 이미지를 받아와야 함 해결 방법KingFisher의 cache Dictionary를 사용해서 photoNames를 Key 값으로 하여, 이전에 불러왔던 photoNames인 경우추가로 API 호출을 하지 않고, 캐시에 있는 photoUri를 사용해서 KingFisher를..

65. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #7

🎯 Trouble Shooting[ 1. 가격순 정렬 삭제 - Response의 충분하지 않은 가게 가격 정보 ]오늘 오전 가격순 정렬과 거리순 정렬을 구현하려고 API Response 정보를 찾아보고 있었는데가격순을 구현하기 위해 필요한 가게들마다 가격 정보가 생각보다 부족하다는 것을 알았다. 가격순을 구현하기 위해 사용되는 정보는 2가지가 있는데 1. PriceLevel : 해당 장소의 가격대를 알려주는 지표결과로 나오는 값으로는1) PRICE_LEVEL_FREE = 무료2) PRICE_LEVEL_INEXPENSIVE = 저렴함3) PRICE_LEVEL_MODERATE = 보통4) PRICE_LEVEL_EXPENSIVE = 비쌈5) PRICE_LEVEL_VERY_EXPENSIVE = 매우 비쌈이..

64. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #6

🎯 Trouble Shooting[ 1. API 응답 중 googleMapsUri 가 nil ]postman 응답에는 잘 표시됨하지만 networkManager를 통해서 네트워크 통신을 하고 받아온 데이터에는 googleMapsUri가 nil로 반환 extension GoogleMap { struct Place: Decodable { let displayName: DisplayName? // 가게이름 let primaryTypeDisplayName: PrimaryTypeDisplayName? // 가게 카테고리 let formattedAddress: String // 전체 주소 let location: Location // 위경도 ..

63. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #5

👨🏻‍💻 오늘의 작업 [ 1. 상세화면 TableView UI PR ] [Feat] #1 - 상세화면 TableView UI 구현 by heopill · Pull Request #24 · uddt-ds/EatsOkay📌 관련 이슈 closed: #1 📌 변경 사항 및 이유 TableView rxDataSource를 사용해서 구현 Popup Button 구현 📌 ScreenShot 📌 PR Point 매장 카운드 라벨과 정렬 버튼은 동일 선상 정렬버튼의 위치를 비율로 설정github.com [ 2. ReactorKit 학습 ] GitHub - ReactorKit/ReactorKit: A library for reactive and unidirectional Swift applicationsA..

62. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #4

🎯 Trouble Shooting[ 1. 테이블 뷰 구분선 가출 ] UIView로 구분선을 만들어서 TableView Cell 맨 아래 부분에 표시되도록 구현했는데셀을 위아래로 스크롤하다가 돌아오면 위 쪽 Cell에 구분선이 사라지는 문제가 발생했다. 이전에도 프로젝트를 진행할 때 팀원분 중 한 분에게 이런 문제가 발생했던 기억이 있는데셀 재사용 처리의 문제인 줄 알고// 셀 재사용 시 상태 초기화override func prepareForReuse() { super.prepareForReuse()} 이 메서드를 작성했는데도 구분선이 계속 사라지는 문제가 있었다. 구글링도 하고 Perplexity 한테도 물어보면서 문제를 해결했다.문제는 AutoLayout이었다.separatorView.snp...