분류 전체보기
-
Compositional Layout, Unable to simultaneously satisfy constraints.ios 2022. 11. 27. 18:26
Autolayout issue with Compositonal Layout collectionview compositional layout with estimated height not working Compositional Layout을 사용해 CollectionView를 구성하던 중, [LayoutConstraints] Unable to simultaneously satisfy constraints. 에러가 발생해 작성 NSCollectionLayoutSize의 heightDimension에 .estimated(100) 이 원인인 이슈로 보인다. 해결 방법 1. set the same height dimension to both the item and the group. - 나의 경우엔 item, g..
-
diffable datasource Error - Inconsistent associations for moves 에러ios 2022. 11. 26. 23:37
diffable data source 를 사용해 컬렉션뷰를 만들던 중, Inconsistent associations for moves 문구와 함께 에러가 나 정리 원인 - Hashable을 채택한 struct에서 == 메서드를 별도 구현했는데, 에러의 원인이였다. 1. Equatable의 == custom implementation 을 제거해 해결. 2. Equatable의 custom implementation만 작성하여, diffing algorithm에 confuse를 끼침 - == 메서드와 함께 hash(into:) 도 정의하면 되지 않을까.. https://stackoverflow.com/questions/57309942/diffable-data-source-for-tableview-error..
-
SnapKit, RxSwift 적용 예제ios 2022. 4. 28. 18:46
생성자로 bool 타입 옵저버블을 주입 받고, bool 값에 따라 체크 박스 이미지를 업데이트 하는 코드다. 스냅킷으로 코드 레이아웃을 작성하여, 자주 쓰이는 뷰를 코드로 컴포넌트화 했다. --- 이하 ---- BaggageCheckView 를 사용할 ViewController 내부 코드 ViewController 에서 생성 후 레이아웃을 잡아주고 뷰 클릭 이벤트를 추가하면 끝 뷰 모델에서는 changeBaggage: 인풋이 들어오면 값을 변경하여 baggage Observable에 새로운 값을 onNext 한다 그러면 이 baggage observable을 주입 받은 BaggageCheckView의 이미지는 onNext된 새로운 값에 따라 이미지를 갱신한다.
-
Swift,iOS - SnapKitios 2022. 4. 26. 18:40
SnapKit은 UI 오토 레이아웃을 코드로 작성할 때, 사용하기 쉽고 읽기 수월하도록 도와주는 라이브러리다. 레거시 코드 리팩토링을 하며 적용해 보았다. 눈에 띄게 가독성이 좋아진 것 같고, 사용하기 간편했다. 유용한 링크 https://github.com/SnapKit/SnapKit GitHub - SnapKit/SnapKit: A Swift Autolayout DSL for iOS & OS X A Swift Autolayout DSL for iOS & OS X. Contribute to SnapKit/SnapKit development by creating an account on GitHub. github.com https://eunjin3786.tistory.com/202 [SnapKit] 스냅..
-
DI (Dependency Injection 의존성 주입), DIP ( Dependency Inversion Principle 의존 관계 역전 원칙)개발 관련 2022. 3. 23. 12:00
코드에서 Dependency 의존성이란, 동작하는 데에 다른 클래스 등이 필요하고, 이를 사용하는 것이다. 예를 들자면, SomeViewController는 SomeViewModel 타입 private let 변수를 가지고 있고 동작에 viewModel을 사용하고 필요로 하며 의존하고 있다. 의존성 주입이란 - SomeViewModel 과 같은 필요한, 의존하고 있는 객체를 - 외부에서 넣어주는 것이다. 의존성 주입 방법 - 프로퍼티 주입, 메서드 주입, 생성자 주입 소개한 주입 방법 중에선 생성자 주입을 보통 선호한다. SomeViewController의 생성 시 viewModel의 주입을 강제하고, 코드 단계에서 오류를 잡아주기 때문이다. 활용 목적 - DI는 테스트 용이한 코드를 작성하기 위해서도 ..