18.01.06 스터디
도우님
CoW
수정이 발생할 때만 복사를 한다. 그냥 대입하는 경우에는 참조만 함. 왜냐하면 성능을 유지시키위해서.
Closure
Swift에서는 클로저가 일급 시민(First-class Citizen)으로서 행동한다. 다음과 같은 원칙을 만족할 때 일급 시민이라 할 수 있다.
- 변수나 데이터 구조안에 담을 수 있다.
- 파라미터로 전달할 수 있다.
- 반환 값(return value)으로 사용할 수 있다.
- 할당에 사용된 이름과 관계없이 구별이 가능하다.
- 동적으로 프로퍼티 할당이 가능하다.
Swift의 일급시민 클로저(Closure) - Oaksong’s Pluto I
기린님
Custom CollectionView
커스텀 콜렉션 뷰를 만드는 경우는 다음과 같다.
- 그리드(grid)로 딱딱 떨어지지 않을 때
- 스크롤 방향이 한 방향이 아닐 때
- 셀 모양이 바뀔 때
이러한 경우 UICollectionViewLayout을 상속받아서 사용하자!
- prepareLayout: 개별 셀의 사이즈계산
- collectionViewContentSize: 전체 콜렉션 뷰의 크기
- layoutAttributesForElementsInRect(:) : 특정 사각형 내의 셀들의 attribute를 정의해줌