그리드 형식으로 데이터를 표시하는 UI컴포넌트.
UIScrollView의 서브클래스로 UITableView보다 가로행, 세로열 등 다양한 레이아웃 유연성을 제공하며 데이터를 보다 효과적으로 표시
[특징]
예시
// UICollectionViewFlowLayout 인스턴스 생성
let layout = UICollectionViewFlowLayout()
layout.itemSize = CGSize(width: 값, height: 값)
layout.minimumInteritemSpacing = 값
layout.minimumLineSpacing = 값
// UICollectionView 인스턴스 생성
let collectionView = UICollectionView(frame: view.bounds, collectionViewLayout: layout)
// 데이터 소스와 델리게이트 설정
collectionView.dataSource = self
collectionView.delegate = self
// 셀 등록
collectionView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "cell")
// 뷰에 컬렉션 뷰 추가
view.addSubview(collectionView)
전체적으로 셀의 크기 및 간격을 조정가능한 테이블뷰와 비슷하다고 생각되었다.
가이드라인을 읽고나서는 어떤 어플을 만들것인지에 대한 구상안을 키노트에 대강 그려봤다.
이용자에게는 기능이 너무 단순하게 느껴져 지루한 어플일 수도 있을테지만 초보 개발자로서의 입장으로는 그 단순한 기능을 제공하기 위해 구현해야하는 세부적인 내용이 많아서 과연 머릿속에 그리는 것만큼 구현해낼 수 있을까 걱정이 앞섰다.
SwiftUI를 사용해서 계산기 어플을 만들었던 지난과제와는 달리 UIKit Storyboard 방식으로 앱을 만들어야 한다. 강의를 눈으로 보면서 생각했던 것과 달리 생각처럼 잘 표현이 안되서 이것저것 만져보느라 오후 시간 대부분을 사용했다.
저녁식사후, 마음 같아서는 원하는 것을 구현하기 위해 스토리보드에 더욱 매진하고 싶었으나 정해진 시간만큼은 알고리즘 푸는 습관을 들이기로 스스로 약속했으므로 아쉬움을 달래고 알고리즘 문제를 풀었다.
평소 수학적 사고를 할 일이 거의 없었기 때문에 어떻게 풀어야 할지 매일 같이 막막함을 느낀다. 엊그저께부터 이틀동안 한문제에 매달렸는데 나 혼자만의 사고로는 풀 수 있을 것 같지가 않아 구글링을 통해 다른 사람의 풀이를 참고했다.
최빈값을 구하는 문제 였는데 딕셔너리를 활용해 풀 수 있었다.
내가 스스로 문제를 푼 것은 아니었지만 최대한 그 풀이를 이해하고자 노력했다.
개인과제 요구레벨 1단계를 다 구현한 것은 아니지만 이번주는 아직 내일이란 시간이 남아있으니까!
오늘의 회고 끝~