Searchable Weather App

영 yyyng·2023년 1월 10일

Project

목록 보기
4/4


Github

23. 01. 11

  1. 프로젝트생성

  2. 프로젝트 지원기기 / 최소버전 / 화면전환 설정

  3. apiKey 깃 이그노어, 리드미 추가

  4. cityList.json 추가
    -) 주석넣어놨어서 파싱이 안됐음. *json 파일안에선 주석 지워야함!

  5. cityList.json codable 모델 생성, 파싱
    -) quicktype 이용

  6. searchController 추가
    -) largeTitle 이슈..

  7. collectionView 추가
    -) UICollectionViewCompositionalLayout 헤매는 중
    -) UICollectionLayoutListConfiguration 시도 중
    -) 구현했으나 section별 구현 방안 구상 중
    -) NSCollectionLayoutSection으로 구현 중
    -) 섹션 별 셀 구현 중

  8. 각 셀의 identifier 사용을 위해 프로토콜 생성

  9. Alamofire 이용한 API 추가 & JSON 파싱
    -) 기존에 하던 방식으로 decode 불가 > 일단 리터럴하게 해결

  10. collectionView 셀에 JSON 값 로드

  11. propertyWrapper 이용한 UserDefaults 헬퍼 추가

  12. 메인 뷰 collectionView 안에 가로 스크롤 collectionView 추가

  13. .replacingOccurrences(of: "BeforeString", with: "AfterString")
    -) Date 변환 중 formatter가 안 먹혀서 상관없는 문자 이걸로 지워주고 해결

  14. 마지막 api호출 시간과 현재 시간 비교해서 api 요청 제한 로직 구현
    -) 콜 제한 방지

  15. 네트워크 상태 확인 추가
    -) 연결 상태 확인 후 설정으로 이동 유도

  16. Realm 추가
    -) api 제한하여 데이터 저장 필요


23. 01. 12

  1. collectionView 섹션 0, 1 수정
    -) 복잡한 로직 조금 수정, UI 수정

  2. 검색 결과 셀에서 api 요청 연결 구현
    -) api 요청은 잘된다. 검색 결과 셀이 안 사라짐..

  3. 5일치 날씨 예보 목록 셀 구현

  4. 맵뷰 셀 구현

  5. 4등분 셀 구현

  6. refreshControl 구현

  7. 서치바 & 서치컨트롤러 미해결
    -) 서치컨트롤러는 뷰 하나로 가능하지만 collectionView 재사용에 어려움이 있음.. -> 컴포지셔널 레이아웃 에러 만나는 중..
    -) 서치바는 라지 타이틀도 해결가능하나 검색 결과화면을 따로 써야하고 값 전달 등 계속 서로 비교해가며 테스트 중

  8. LaunchScreenVC 추가
    -) GCD asyncAfter 를 이용해 api / 로딩 시간 해결

  9. searchBar 채택
    -) modal present로 searchVC 표현

  10. searchBar 텍스트 입력 기준 검색 결과 구현

  11. searchBar 검색 결과 터치시 mainVC에 결과 구현
    -) 컬렉션뷰 셀렉 아이템

  12. searchBar cancel버튼
    -) UISearchBar의 버튼을 활용하려 했으나 네비게이션 영역 한번 탭해야 활성화됨
    -) UIBarButtonItem 따로 생성해서 cancel 버튼 구현

  13. cancel버튼 UI & 로직 구현
    -) mainVC API 값의 반영을 위해 1초 후 dismiss


23. 01 .13

  1. mainVC CollectionView의 셀 맵뷰 & 컬렉션뷰 리로드 이슈
    -) 맵킷은 다른 쓰레드에서 다시 어노테이션 그려줘서 해결
    -) 메인 컬렉션 뷰 리로드 될 때 각 셀 안의 컬렉션 뷰 리로드

  2. searchVC 제스처 이벤트 추가 / 키보드 나타내기
    -) 메인 뷰에서 searchBar 탭시 화면 전환 -> 키보드 나타내서 사용성 개선
    -) 검색 중일 때 스크롤하면 키보드 사라지게 사용성 개선

profile
yyyng2.github.io

0개의 댓글