Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

103 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ILikePhoto

마음에 드는 사진을 찾고, 사진에 대한 정보를 제공하는 서비스

토픽 2 4 6

프로젝트 환경

  • 개발 인원: iOS 1
  • 개발 기간: 24.07.22 ~ 24.08.13 (3주)
  • 최소 버전: iOS 15.0

기술 스택

  • 🎨 View Drawing - UIKit
  • 🏛️ Architecture - MVVM
  • ♻️ Asynchronous - RxSwift
  • 📡 Network - Alamofire
  • 🏞️ Image Loader - Kingfisher
  • 📦 DB: RealmSwift
  • 🎸 기타 - SnapKit Then Toast DGCharts

주요 기능

  • 토픽 사진 및 랜덤 사진 추천
  • 사진 검색 및 색감 필터링
  • 마음에 드는 사진 저장
  • 사진 조회 수와 다운로드 수 차트 시각화

주요 기술

랜덤 토픽 사진 추천

  • 토픽 화면에서 랜덤으로 3개의 토픽을 골라 API 통신
  • 3개의 통신을 DispatchGroup의 enter와 leave를 통해 뷰 갱신 횟수 최소화
  • UIRefreshControl을 통해 당겨서 새로고침 기능 구현
  • API 과호출 방지를 위해 DispatchTime의 변수를 통해 60초간 통신 X
  • 3개의 통신 모두 완료 시 DispatchTime을 .now()로 초기화 시켜 핸들링

PinterestLayout

  • UICollectionViewLayout을 서브 클래싱하여 PinterestLayout 구현
  • Delegate를 통해 이미지의 Height 값을 전달
  • prepare() 메서드에서 레이아웃을 계산
  • 이미 계산한 레이아웃을 [UICollectionViewLayoutAttributes] 타입의 cache에 담아 성능 개선

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages