17.12.30 스터디

기린님

커스텀 컬렉션 뷰

UICollectionViewDelegateFlowLayout - UIKit | Apple Developer Documentation

  • UICollectionViewDelegateFlowLayout의 CGSize를 리턴하는 메소드로 동적으로 콜렉션뷰의 셀의 사이즈를 정할 수 있다.
  • 다만 2차원적으로 달라지는 Pinterest 같은 UI를 원한다면 UIColletionViewLayout를 상속해서 메소드를 사용한다.
  • 만약 테이블뷰 셀마다 안의 뷰들의 크기에 따라 유동적으로 바뀌려면 UITableView의 rowHeight 프로퍼티에 UITableViewAutomaticDimension을 넣어준다.

currentContext 공부하기

도우님

  • Value Semantics를 좀 더 지향하는 Swift가 어떻게 값을 변화시키는지 설명.
  • Value 타입은 Copy-on-Write(CoW)를 통해 값이 변화한다. 이는 값이 바뀌기 전 복사를 한 뒤 복사본의 값을 바꿔준 뒤 레퍼런스 포인팅을 이동시키는 방식이다. 그래서 도우님이 가져온 예제에서 Global Queue로 Value 타입의 Array에 값을 넣어줄 경우 어떤 복사본을 레퍼런스 포인팅으로 잡을지 몰라 다양한 오류가 난다.

Swift의 Copy-on-Write(CoW) - oaksong’s Pluto I