Skip to content

[#814] UICollectionView 기반 공용 CollectionUI Library를 추가한다 - #818

Merged
opficdev merged 28 commits into
developfrom
feat/#814
Aug 20, 2026
Merged

[#814] UICollectionView 기반 공용 CollectionUI Library를 추가한다#818
opficdev merged 28 commits into
developfrom
feat/#814

Conversation

@opficdev

@opficdev opficdev commented Aug 20, 2026

Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🎯 의도

SwiftUI 화면에서 재사용할 UIKit 기반 목록 렌더링 경로를 만들기 위해 Libraries/CollectionUI를 추가함.

TodoListView, PushNotificationListView, TodayView의 실제 전환은 포함하지 않고, snapshot·layout·cell·callback 연결 기반만 공용화함.

📝 작업 내용

📌 요약

  • CollectionUI, CollectionUITests target과 Workspace.swift 등록 추가
  • CollectionRenderingSnapshot 기반 section/item 식별자와 reconfigureItems 경로 추가
  • SwiftUI용 generic CollectionView와 UIKit CollectionViewController 연결 추가
  • UICollectionViewDiffableDataSource, UICollectionViewCompositionalLayout 기반 렌더링 추가
  • UIKit cell·supplementary view provider, selection·scroll·willDisplay·prefetch/cancel·refresh·swipe action callback 추가
  • scroll anchor와 selection 복원, DEBUG assertion 및 운영 환경 빈 cell fallback 추가
  • snapshot·interaction 테스트와 CollectionUI 사용 예시 README 추가
  • 기존 Application/App/Sources/App/TempView.swift 제거 커밋 포함

🔍 상세

  • CollectionUIFoundation, SwiftUI, UIKit만 사용하며 Core, Domain, Data, Infra, Presentation, TCA, Firebase에 의존하지 않음
  • 화면 전용 adapter가 모델·action·cell type·layout 의미를 소유하고, CollectionUI는 식별자와 UIKit rendering callback만 연결
  • swipeActions(edge:allowsFullSwipe:actions:)는 같은 edge의 action을 선언 순서대로 결합
  • prefetch/cancel은 내부 ID 집합으로 중복 전달 방지
  • cell provider가 cell을 반환하지 않으면 DEBUG에서는 assertion을 남기고 Staging·Release에서는 빈 cell 반환
  • 외부 공개 API 주석을 명사형 한 줄로 정리

📸 영상 / 이미지 (Optional)

해당 없음

기타

  • TodoListView, PushNotificationListView, TodayView 실제 전환은 포함하지 않음
  • 앱·Simulator 실행과 성능 측정은 포함하지 않음

@opficdev opficdev self-assigned this Aug 20, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6d9e88940d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Libraries/CollectionUI/Sources/CollectionViewController.swift Outdated
Comment thread Libraries/CollectionUI/Sources/CollectionViewController.swift
Comment thread Libraries/CollectionUI/Tests/.swiftlint.yml Outdated
Comment thread Libraries/CollectionUI/Sources/CollectionViewController.swift
Comment thread Libraries/CollectionUI/Sources/CollectionViewController.swift
Comment thread Libraries/CollectionUI/Sources/CollectionViewController.swift Outdated
Comment thread Libraries/CollectionUI/Sources/CollectionViewController.swift
Comment thread Workspace.swift
@opficdev
opficdev merged commit 71b5ac1 into develop Aug 20, 2026
9 checks passed
@opficdev
opficdev deleted the feat/#814 branch August 20, 2026 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

UICollectionView 기반 공용 CollectionUI Library를 추가한다

1 participant