본문 바로가기

iOS/iOS

(5)
iOS 17에서의 URL 사용시 유의점 URL(string:) init(string:) | Apple Developer Documentation Creates a URL instance from the provided string. developer.apple.com iOS 17에선 URL이 RFC3986 를 준수합니다. 여기서 주의해야할 점은 Now, URL automatically percent- and IDNA-encodes invalid characters to help create a valid URL. 이 부분입니다 기존 URL이 invalid 할 경우 자동으로 인코딩 한다는 점인데요, 따라서 iOS17에서는 종종 이중 인코딩이 되는 이슈가 생길 수 있습니다. 해결법 .addingPercentEncoding(withAllowedCharacters: .ur..
iOS) UICollectionView custom layout에 대한 고찰- 2 (UICollectionViewCompositionalLayout) iOS) UICollectionView custom layout에 대한 고찰- 1 (UICollectionViewFlowLayout, UICollectionViewLayout) iOS) UICollectionView custom layout에 대한 고찰- 1 (UICollectionViewFlowLayout, UICollectionViewLayout) Collection View에서 복잡한 레이아웃을 다루기 위해선 Custom Layout을 적용시켜야 합니다. 오늘은 Custom Layout을 탐구해보려 합니다. 데이터 레이어와 프레젠테이션 레이어가 분리되어있고 레이아웃으 demian-develop.tistory.com 이전 글에 이어서 오늘은 iOS 13부터 사용 가능한 UICollectionViewC..
iOS) UICollectionView custom layout에 대한 고찰- 1 (UICollectionViewFlowLayout, UICollectionViewLayout) Collection View에서 복잡한 레이아웃을 다루기 위해선 Custom Layout을 적용시켜야 합니다. 오늘은 Custom Layout을 탐구해보려 합니다. 데이터 레이어와 프레젠테이션 레이어가 분리되어있고 레이아웃으로 뷰의 배치를 결정합니다. (책임이 잘 분리되어 있습니다.) CollectionViewFlowLayout CollectionViewFlowLayout는 애플이 제공하는 UICollectionViewLayout의 한 유형입니다. 애플은 최적화와 추상화가 잘 되어있기 때문에 가능하면 FlowLayout 사용을 권장하고 있습니다. Flow Layout인 이유는 그림으로 설명드리겠습니다. 스크롤의 방향에 따라 선을 기반으로 가능한 한 많은 셀을 배치하고 다음으로 넘어갑니다. 다음은 Flow..
iOS) GCD에 대한 고찰 - 2(DispatchWorkItem, DispatchGroup, DispatchSemaphore, Concurrency Problems) iOS) GCD에 대한 고찰 - 1(Dispatch Queue) iOS) GCD에 대한 고찰 - 1(Dispatch Queue) iOS 개발을 하면서 멀티스레딩 작업이 필요할 때 사용하는 GCD에 대해 알아보려 합니다. 멀티스레딩 작업은 Operation으로도 할 수 있지만 이 글에선 GCD에 대해 다뤄보려 합니다. (Operation은 다른 글 demian-develop.tistory.com 이전에 썼던 글에 이어서 GCD에 대해서 글을 좀 더 써보려 합니다. 이 글에서는 DispatchWorkItem, DispatchGroup, DispatchSemaphore, Concurrency Problems에 대해 다뤄보겠습니다. DispatchWorkItem DispatchWorkItem는 Dispatch ..
iOS) GCD에 대한 고찰 - 1(Dispatch Queue) iOS 개발을 하면서 멀티스레딩 작업이 필요할 때 사용하는 GCD에 대해 알아보려 합니다. 멀티스레딩 작업은 Operation으로도 할 수 있지만 이 글에선 GCD에 대해 다뤄보려 합니다. (Operation은 다른 글에서 다뤄보겠습니다.), 직접적인 Thread 관리는 제대로 하기 굉장히 어렵기 때문에 대부분 API를 사용하게 됩니다. GCD에 대해 조금 깊게 이해하기 위해서는 Apple의 운영체제에서 Thread Programming, Concurrency Programming에 대해서 알고 있으면 좋습니다. 가볍게 훑어봤는데, 전산학 관련한 내용이 많아, 나중에 Thread 관련 글에서 다뤄보려 합니다. 이 중 간단한 용어지만 헷갈릴 수 있어 정의를 다시 옮겨오겠습니다.(Reference) Thre..