Dev/WWDC 정리8 [WWDC19] Advances in UI Data Sources (DiffableDataSources) 컴포지셔널 레이아웃에 이어서 연달아 보고 정리해놓았는데 노션에만 놓고 옮기는 것을 깜빡해서 지금이라도 옮겨적는다..! 적용기는 이후에 다시 남겨야겠다! 기존 DataSource 나름 굉장히 직관적이다. 하지만 앱은 계속해서 복잡해져간다. Controller Layer와 UI Layer의 대화 Smooth sailing UI: Controller, 섹션에 있는 항목의 수를 알려줘. UI: 콘텐츠를 렌더링할 때 셀을 알려줘. 문제는 여기서 발생한다. (more complex) Controller: UI야 나 바꼈는데??? (didChange) UI: 어? 그러네 그러면 나 TableView나 CollectionView UI 바꿔야겠는데??😮 이건 좀 복잡한 작업이다. 그리고 만약 정말 잘 처리해줘도 아래와 .. 2023. 6. 12. [WWDC16] Understanding Swift Performance - 1부 이전에 올렸던 글이 사진과 글이 몇개 누락된 채로 올라갔던 걸 발견해서 조금 더 첨부해서 다시 올리고 원래글은 비공개로 돌립니다😐 Understanding Swift Performance 1부 Heap이 Stack보다 동적이지만 효율성이 떨어진다 Heap 자료구조를 사용하면서 힙을 검색하여 적절한 크기의 사용하지 않는 블록을 찾고 할당 해제 후 메모리를 적절한 위치에 다시 삽입하는 과정을 겪게 되는데, 이것이 Heap allocation(힙 할당)의 메인 cost가 되는 것이 아니다. 여러 스레드가 동시에 힙에 메모리를 할당할 수 있으므로 힙은 잠그거나, 또는 기타 동기화 메커니즘을 사용하여 무결성을 보호해야한다는 것이 사실 main cost라고 할 수 있다. 하지만 사람이 직접 이 모든걸 관리하면서 한.. 2023. 5. 5. [WWDC22] Design protocol interfaces in Swift Understand type erasure associatedtype을 가진 프로토콜이 어떻게 실존 타입과 상호작용할까?🤔 - 닭은 달걀을 낳고 소는 우유를 만들어낸다. 이를 한번 더 추상화해보자. (associatedtype) - 이를 다이어그램으로 나타낸다면 아래와 같다. - protocol의 Self타입은 Animal protocol을 채택하는 actual concrete type. - protocol Self타입은 Commodity라는 'Food'를 채택하는 associatedtype을 가지고 있다. - any Animal을 통해 Animal 프로토콜을 채택하는 동물들을 담을 수 있다. some이게 되면 underlying type이 고정되기 때문에 any를 통해 선언해준다. - any가 가능한 .. 2023. 4. 27. [WWDC19] Advances in Collection View Layout (Compositional Layout 정리) - 2(完) Advanced Layouts Supplementary items NSCollectionLayoutSupplementaryItem Badges Headers Footers Simplifies using supplementaries Anchored to item or group NSCollectionLayoutAnchor host space(item or group)에 위와 같이 상대적으로 anchored될 수 있다. 💡 badge는 item(cell)에 붙는 것이므로 item의 supplementaryItems에 들어가야함. Header, Footer header와 footer는 content를 가리는 것이 아니라 콘텐츠 영역을 확장하여 콘텐츠 자체를 볼 수 있도록 하기 위한 것이다. Boundary s.. 2023. 4. 27. 이전 1 2 다음