일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swift documentation
- map
- UICollectionView
- RxCocoa
- 리팩토링
- MVVM
- 스위프트
- Xcode
- Human interface guide
- combine
- tableView
- Refactoring
- Protocol
- UITextView
- HIG
- 리펙토링
- ribs
- Clean Code
- swiftUI
- SWIFT
- Observable
- uitableview
- ios
- 리펙터링
- 애니메이션
- 클린 코드
- clean architecture
- rxswift
- collectionview
- uiscrollview
- Today
- Total
목록NSMapTable (3)
김종권의 iOS 앱 개발 알아가기
1. SDWebImage 오픈소스 까보기 - 캐싱 처리 로직 2. SDWebImage 오픈소스 까보기 - 메모리 캐싱, 디스크 캐싱 SDWebImage 메모리 캐시 SDMemoryCache.m 코드를 보면 SDMemoryCache를 선언해 놓았으며 이것은 NSCache 타입이므로 일반적으로 swift에서 메모리 캐싱을 사용하는 방법과 유사 (NSCache를 통해 메모리 캐싱하는 방법은 이전 포스팅 글 참고) @interface SDMemoryCache () { #if SD_UIKIT SD_LOCK_DECLARE(_weakCacheLock); // a lock to keep the access to `weakCache` thread-safe #endif } ... @interface SDMemoryCach..
1. SDWebImage 오픈소스 까보기 - 캐싱 처리 로직 2. SDWebImage 오픈소스 까보기 - 메모리 캐싱, 디스크 캐싱 SDWebImage 오픈소스 SDWebImage Github 포스팅 글 작성 시점 기준으로 24.7k 스타를 가지고 있고, 또 다른 유명한 이미지처리 오픈소스 Kingfisher (21.5k)보다 많은 스타 수를 가지고 있는 오픈소스 UIImageView의 extension으로 sd_setImageWithURL 메소드로 확장되어 쉽게 사용할 수 있도록 구현되어 있는 상태 import SDWebImage imageView.sd_setImage(with: URL(string: "http://www.domain.com/path/to/image.jpg"), placeholderIm..
NSMapTable 개념 key-value쌍으로 구송하는 컬렉션 타입 중 하나인 Dictionary와 유사하지만 memory 관리를 더욱 디테일하게 처리가 가능한 클래스 딕셔너리는 value type이지만 NSMapTable은 class타입이므로 reference type 딕셔너리는 key-value쌍으로 value에 object를 넣으면 strong reference로 잡히지만, NSMapTable은 통해 weak 설정이 가능 NSMapTable은 멀티 스레드 환경에서도 안전하게 사용할 수 있는 thread safe 속성도 가지고 있는 장점이 존재 NSMapTable로 메모리 캐싱 구현 NSMapTable의 Value 타입에 사용할 class 타입 CachedObject 정의 하나와 NSMapTable..