Neph's Blog

「Neph의 iOS 공부일지」

Compositional Layout 트러블슈팅

Compositional Layout의 Init 종류 첫번째와 두번째 init의 설명을 보면 single section을 사용하는 경우에 사용 가능하다고 적혀있다. 따라서 section이 여러개인 경우에 첫번째 init을 사용하게 되면 에러가 난다. 여러개의 section이 존재하지만, 모든 section의 내용이 똑같은 경우에도 (Sec...

Unit Test에 사용되는 용어들과 사용법

본 글은 Saad El Oulladi의 Unit Tests (Swift): Mocking the right way.를 읽고 작성된 글입니다. Unit Test 용어의 역사 2001년 Tim Mackinnon, Steven Freeman, Philip Craig는 unit test와 관련된 글을 작성했습니다. 그 이름은 “Endo-testing: u...

[작성중] Alamofire Request 정리

State Initial State Mutable State Progress Redirect Handling Cached Response Handling URLCredential Validator URLRequests HTTPURLResponse Tasks Metrics...

navigationBar 숨기기에 animation 적용하기

Navigation Bar 숨기기 기존에는 1 navigationcontroller?.navigationBar.isHidden = true 위의 방법으로만 처리해주었었는데 animation 효과를 통해 더 부드러운 UI를 제공할 수있는 메서드가 있었다. 1 navigationController?.setNavigationBarHidden(tr...

collectionView cell 눌렀을 때 cell 색상 변하게 하기

Cell을 눌렀을때 유저가 눌렀다는 인식을 받도록 하기 table view의 경우 cell을 누르면 cell이 회색으로 변하며 “눌렀다”라는 인상을 주기 쉽습니다. 하지만 collectionView cell은 마땅한 방법들이 안보여서 이것저것 시도해보고 제일 적당한 방법을 찾았기에 소개하려 합니다. 방법 1 (채택됨) cell을 모두 덮는 ...

cell highlight와 select 차이

Highlight vs Select Highlight의 경우 셀을 터치하고 있거나 스와이프하기만 해도 동작 반면 select는 터치하고 그 자리에서 손을 떼는 (일반적인 tap 동작) 동작에만 해당 Highlight시에 cell에 변화를 준 경우 Sel...

if case let 구문은 뭐고 언제 쓰는걸까?

Swift에서 가장 독특한 문법(?) if case let 구문은 어떤 associated value를 가진 enum값을 분기처리하는 구문입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 enum ItemWrapper: Hashable { case category(ProductCategory) case product(Produc...

Diffable Datasource 요약

기존 datasource의 문제점 index 기반의 배열접근 작업이기 때문에 잘못접근시 시스템 에러 발생 datasource를 업데이트 하고 해당 위치의 cell을 “알맞게” 업데이트 해주어야하는 번거로움 존재 만약 변경된 datasource와 맞지 않는 view 업데이트 작업 진행시 어김없이 에러 발생 cel...

Compositional Layout SectionProvider, Configuration

상황, 위치에 따라 다른 Layout을 보여주기 CollectionView를 구성하다보면 상황에 따라 cell이 보여지는 형태(layout)를 바꾸고 싶은 경우가 종종 있음 또는 하나의 CollectionView내의 서로 다른 section에 다양한 형태의 cell들이 보여지게 하고 싶음 이를 기존 coll...

Map, CompactMap, FlatMap

Map, CompactMap, FlatMap Map transform이라는 (Self.Element) throws -> T 타입의 클로저를 인자로 받아 Sequence의 원소들을 차례대로 transform의 인자로 주어 나오는 결과값을 다시 배열로 묶어 반환해주는 인스턴스 메서드 “복잡도”는 O(n) 입니다. (공식문서상에 시간복잡도인지...