일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- document
- publisher
- UINavigationController
- switchToLatest
- SWIFT
- IOS
- collision
- memory
- subscriber
- countLimit
- DICTIONARY
- NSCache
- Video
- Hashtable
- Filtering
- combine
- debounce
- Thumbnail
- operator
- Subject
- Throttle
- FlatMap
- CPU
- totalCostLimit
- LinearProbing
- image
- Subscription
- flatMapLatest
- Today
- Total
목록SWIFT (11)
felix-iOS
안녕하세요🙇♂️ 이번 게시글은 UINavigationController 공식문서를 번역해보려고 합니다! 정말 많이 사용하는 ContainerViewController죠? 많이 사용하는만큼 정확히 알고 사용해보도록 합시다! 혹시나 번역이나 내용이 틀렸을 경우 댓글로 지적 부탁드립니다!😅 번역하면서 제 생각은 요 보라색으로 작성해볼테니까 헷갈리지 말고 읽어주세요! ㅎㅎ 그럼 시작해볼까요? 깔깔! UINavigationController 계층적 콘텐츠 탐색을 위한 Stack 기반 체계를 정의하는 ContainerViewController입니다. Declaration @MainActor class UINavigationController: UIViewController @MainActor는 iOS15부터 사용..
안녕하세요🙇♂️ 이번 게시글은 NSCache에 대해 알아보려고 합니다. Alamofire나 KingFisher 같이 캐싱을 제공해주는 좋은 오픈소스들이 있긴하지만! NSCache를 통해 직접 구현을 해야될 때도 있고, NSCache에 대해 이해를 하고 있으면 오픈소스를 사용할 때 더 쉽고 편하게 사용할 수 있겠죠? 자자! 그럼 공식문서를 확인해보면서 시작해보겠습니다.👏 문서에 있는 내용은 제가 읽으면서 좀 더 읽기 쉽도록 의역했기 때문에 혹시 잘못 의역했다고 생각하시는 문구에 대해서는 댓글로 지적 부탁드립니다❗️ NSCache Key-Value쌍을 임시로 저장하는 데 사용하는 Mutable한 Collection입니다. 이 Key-Value쌍은 메모리가 부족할 때 제거됩니다. class NSCache :..
안녕하세요 🙇♂️ 이번 게시글은 WWDC 2018 Image and Graphics Best Practice 에 대해 작성해보려고 합니다. Medium Daily Digest를 구독하고 있는데 관련글을 보다가 찾아보게 되었는데 그 동안 Image를 잘못 다루고 있었구나라는 반성을 했습니다..😭 자자 일단 바로 시작해봅시다! 이 영상에서는 App에서 Graphical Contents들을 효율적으로 사용하기 위한 기술과 전략에 대해 공유하는 영상입니다. 먼저 App에서 Graphical Contents를 작업하기 위한 고급 도구(High-Level Tool)인 UIImage와 UIImageView에 대해 알아보겠습니다! Graphical Contents 는 다양한 정보를 가지고 있는 사진 (rich con..
안녕하세요 🙇♂️ debounce와 throttle는 자주 사용해보셨을겁니다. 하지만 항상 헷갈리게 하는 분들이기 때문에 정리를 확실하게 해놓기 위해서 이번 게시글을 작성합니다. Debounce func debounce(for dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions? = nil) -> Publishers.Debounce where S : Scheduler 이벤트 간에 지정된 시간이 경과된 후에만 요소를 게시합니다. 공식문서에 따르면 debounce operator를 사용하여 업스트림 publisher의 전송 간격과 개수를 제어합니다. 이 operator는 다운스트림에 전달되는 값의 수를 지정한 속도로 ..
안녕하세요 🙇♂️ 이 글은 콤린이로써 FlatMap이 너무 헷갈려서 게시하게 됐습니다. Combine이 아니더라도 Map / CompactMap / FlatMap 은 자주 쓰잖아요? 이 글에서는 Map과 FlatMap을 비교하고 Rx에 있는 FlatMapLatest는 Combine에서 어떻게 구현해야되는지 알아보겠습니다. CompactMap은 이 글과 약간 관련이 없어서 제외했습니다. :) 자 시작해보겠습니다. 🔥 Map(_:) 먼저 Map입니다. func map(_ transform: @escaping (Self.Output) -> T) -> Publishers.Map 제공된 closure를 사용하여 업스트림 publisher의 모든 요소를 변환합니다. 네네 맞습니다. 일반적인 Map과도 비슷하죠? ..
안녕하세요🙇♂️ 이번 게시글은 자료구조를 공부하다가 다양한 Collision 해결 방법 중에 Swift는 어떤 방법을 채택하고 있는지 갑자기 궁금해져서 작성하게 되었습니다. 간단하게 HashTable과 Collision에 대해 알아보고 Swift에서는 Collision을 어떤 방법으로 해결하는지 작성하려고 합니다. 혹시나 Swift에서 Collision 해결 방법만 궁금하시다면 바로 아래로 스킵하셔도 됩니다. :) 자 시작해봅시다! HashTable은 쌍으로 1:1 매핑 되어 있는 데이터 구조를 말하죠? Key에 해당 하는 값에 정해진 해쉬함수를 적용해서 인덱스를 뽑아내고 Bucket 또는 Slot이라고 불리는 Storage에 해당 인덱스에 Value 값을 저장하는 방식입니다. Key 값은 항상 유일해..
안녕하세요 🙋♂️ 유용한 Filtering Operator 두번째 게시글에서는 prefix와 output operator에 대해 알아보려고 합니다 :) 저번 게시글처럼 공식문서와 예제를 통해 확인해보겠습니다! prefix / prefix(untilOutputFrom:) / prefix(while:) func prefix(_ maxLength: Int) -> Publishers.Output 지정된 최대 개수까지 요소를 Republish 합니다. 먼저 기본적인 prefix(_:) 입니다. 인자로 받는 maxLength 까지 요소를 Republish한다고 합니다. 현재 소개하고 있는 것은 Operator이기 때문에 당연히 Republish라는 단어가 맞겠죠? Upstream에서 받아서 다시 publish 해..
안녕하세요 🙋♂️ 이번 게시글은 유용하게 사용할 수 있는 Filtering Operator에 대해 알아보려고 합니다. 이름에서도 알 수 있듯이 방출되는 element에 대하여 Filter를 하는 Operator들 입니다. 이 Operator에 지정된 제약사항들을 만족하지 못한다면 해당 element들은 삭제됩니다 :) 자 그럼 하나씩 직접 사용해보면서 알아봅시다!🔥 filter / tryFilter func filter(_ isIncluded: @escaping (Self.Ouput) -> Bool) -> Publishers.Filter 제공된 clousure와 일치하는 모든 요소를 다시 publish합니다. filter는 Combine이 아니더라도 자주 사용해봤기 때문에 다들 익숙하실 것 같습니다. ..