iOS (65) 썸네일형 리스트형 [Swift Package] No1. Swift Package 편하게 접근해보기🤩 | #의존성 #Package.swift #ACL 안녕하세요. 오랜만에.. 포스트를 다시 작성하네요. 이번 포스트는 Swift Package에 대해서 탐구해보려고 합니다. A Package의 특정 타겟에서 외부 repository 의존성 추가 및 로컬 library 의존성 추가. Package.swift에 대해 파해치려구 합니다."An Introduction to Swift Package Manager"( kodeco 링크 )글을 활용해서 제가 아는 지식도 정리할 겸... 이게 예전에 올려진 글이라 몇 명령어는 실행이 되지 않을 수 있어서, 제 스타일대로 커스텀을 하며 파해치려구 합니다. 오늘의 키워드!Package.swifttargetLibraryProductDependency[ 주요 개념들 ]약간 개념을 간단하게 정리하겠습니다. 1. Package.. [Swift] No7. Deep dive into AnyPublisher and eraseToAnyPublisher( )🤩 | Combine 안녕하세요. 이번 포스트는 Combine 프레임워크를 사용할 때 정말 많이 작성하고 호출했던 타입인 AnyPublisher와 eraseToAnyPublisher에 대해 탐구하려고 합니다. 왜 사용하는지, 어떻게 사용하면 좋을지에 대해 프로젝트를 하며 경험했고 알게 된 개념을 공유하려고 합니다😄. 컴바인 공부할 초기에는 기술 포스트에서 AnyPublisher를 왜 사용하는지, 왜 eraseToAnyPublisher를 사용하는지, 타입을 지워준다는 개념은 정말 잘 알겠는데 그렇게 확 와닿지가 않았었습니다. 그때 당시의 저와 같은 상황인 분들이 이 포스트를 보면서 Publishers의 구체적인 타입을 AnyPublisher로 wrapping하여 추상화하는 이유를 이해하시면 좋을것 같습니다😆 1. AnyPu.. [iOS] ARC의 개념, Class vs Struct 및 Memory Leak발생 이유 탐구하기 | ARC 진짜 뿌수기 #2 안녕하세요. 이번 포스트에서는 ARC의 기본 개념 및 class와 struct의 차이, GC's Mark and Sweep은 왜 메모리 릭을 예방하는지 등의 ARC와의 차이점, memory leack의 발생을 Debug Memory Graph를 통해 탐구하고 해결하는 과정까지 소개하려고 합니다: ]Class vs StructARC를 탐구하기 위해서 Value type, Reference type의 개념을 알아야 합니다. 대표적으로 Struct, Class가 있습니다.Value Type의 Struct 특징!! Potato 구조체가 있습니다. 그리고 thread에 의해 execute()가 호출되어 해당 함수의 scope에 들어왔을 때의 상황입니다. Memory(memory layout link)의 stack.. [iOS] Dynamic view를 추가하는 상황에서 layoutIfNeeded() 활용 및 개념 완벽 뿌수기 +_+ | UIView life cycle 안녕하세요. 이번 포스트는 UIView와 AutoLayout이라면 빠질 수 없는 layoutIfNeeded()의 개념과 언제, 왜 사용해야 하는지 등을 정리하려고 합니다. 또한 커스텀 뷰 내부에 특정 subview를 동적으로 추가 후 화면에 render 해야할 때, subview's layoutIfNeeded와 super view's layoutIfNeeded 중 무엇을 호출해야 하는지에 대해 간단한 프로젝트를 통해 다양하게 탐구하며 알게된 개념을 소개하려고 합니다. 기본적으로 main run loop와 update cycle 관련해서 설명하는 해외 포스트(관련 링크)를 우선 꼭 보셔야 좋습니다. 지금부터 버튼을 클릭하면 동적으로 애니메이션과 함께 고양이 사진이 나온 후에 간단한 레이블이 아래로 보여지는.. [iOS] CALayer의 mask 프로퍼티와 gradient animation 파해치기!! 안녕하세요. 이번 포스트는 CALayer의 mask와 gradient 주는 방법과 CABasicAnimation으로 애니메이션 처리하는 방법에 대해서 소개하려고 합니다. 이런 느낌으로 말입니다!! 시작하기 전에 프로젝트 링크 참고해주시면 감사합니다.(깃허브 프로젝트 링크 바로 들여다보기) 위와같이 화면을 구성하기 위해 알아야 할 개념은 3가지 입니다. CALayer와 mask CABasicAnimation (keyPath: locations) UIGraphicsImageRenderer(size:) CALayer와 Mask CALayer는 UIView와 같이 아래 사진처럼 계층구조를 가질 수 있습니다. CALayer는 mask란 프로퍼티가 있습니다. 이는 alpha channel을 통해서 layer's c.. [iOS] collectionView(_:cellForRowAt:)에서 중복 선언 및 호출되는 로직 간소화 | POP와 OOP, 프로토콜 composition 안녕하세요. 지난 포스트에서는 최근 진행중인 프로젝트에서 재사용 가능한 cell의 UI에서 특정 영역에만 UI가 서로 다른 경우, 하나의 cell에 데이터가 들어올 때마다 데이터에 맞게 레이아웃을 잡는 경우 vs 서로 다른 UI별로 cell을 만드는 경우 중 뭐가 성능상 좋은지 실험(관련 포스트 링크) 후 리빌딩 했었습니다. 이번 포스트에선 지난 포스트에서의 리빌딩 과정 중 collectionView(_:cellForRowAt:) 델리게이트에서 중복 코드가 너무 많이 보여서 프로토콜 지향적 + 객체지향 개념을 활용해 리빌딩한 경험을(리빌딩한 코드 관련 커밋 링크) 소개하려고 합니닷!! 프로젝트 구조 간단 소개 진행중인 프로젝트의 피드 화면입니다. 자세히 보면, 회색 영역은 ui가 같지만 이미지 영역은 서.. [iOS] 컬랙션 뷰cell에서 특정 영역만 다른 ui를 갖는 경우 단일 cell or 여러 개의 cell 중 뭐가 좋을까..? | UI 성능 실험 static vs dynmaic 안녕하세요. 오늘은 한 섹션에서 사용되는 reusable cell이 특정 영역만 다른 ui를 갖을 때, 하나의 cell안에 분기처리를 통해 레이아웃을 구성하는 것 vs 여러개의 cell을 등록하고 재사용 큐에서 꺼내오는 것 중 뭐가 성능이 더 좋을지 분석한 것을 정리하려고 합니다. 이번에 리펙터링한 코드의 PR 링크를 남겨두겠습니다[리펙터링 PR 링크]. 현재 개발중인 프로젝트의 피드 화면입니다!! 피드에서는 컬랙션 뷰를 사용하고 있습니다. 위 사진에서 맨 왼쪽은 cell내부에서 사용되는 서브뷰들의 영역입니다. 포스트가 보여지는 하나의 섹션에서, 사용자가 올린 사진에 따라서 총 5개 정도의 사진 배치가 있습니다. 이렇게 회색 영역은 모두 같지만, 포스트 thumbnail 이미지에 개수에 따라 배치가 .. [iOS] Dynamic TableViewCell in Runtime(with animation) | 테이블뷰 Deep dive #1 사전 지식 안녕하세요. 테이블 뷰를 기반으로 Runtime 때 사용자의 터치에 따라 dynamic한 tableView cell을 만들어 볼 것입니다. 이번 포스트에선 dynamic tableViewCell을 만들기 전에 알아두어야 할 사전 개념을 소개하려고 합니다 +_+ 호호.. 재밌습니다. 이 화면을 구현할 때 중요한 키워드입니다. tableView contentView UIView's intrinsicContentSize view's priority + hugging | compression resistance performBatchUpdates(_:completion:) vs beginUpdates() | endUpdates() NSLayoutConstraint's priority in UILayoutPrio.. 이전 1 2 3 4 ··· 9 다음