본문 바로가기

2019/05

(3)
Literal Initializer 만들기 최근 공부하다가 Literal이라는 것을 접하게 되었고 이 Literal이 Swift에서 어떻게 쓰이는 지 알고 적용해보고 싶었다! Literal Initializer 만들기 Literal이란 소스코드의 어떤 값을 대표하는 것입니다. 예를 들어 0은 Integer, 0.0은 Floating-Point, "AAA"는 String과 같이 어떤 값이 주어지면 그 값을 대표하는 것이 Literal입니다. 이 Literal은 Swift에서 Protocol로 제공되고 있습니다. Literal Protocol Integer ExpressibleByIntegerLiteral Floating-Point ExpressibleByFloatLiteral String ExpressibleByStringLiteral Extend..
NSCache로 Image Cache를 구현해보자! 보통 URL를 통한 Image Download 작업을 할 때, Kingfisher 라이브러리를 사용한다. 이 때, Kingfisher는 Cache도 지원해주는데 이 Cache를 NSCache로 직접 만들어보자! NSCache로 Image Cache를 구현해보자! 먼저 iOS에는 NSCache라는 것을 지원해준다. Apple 공식 Document에서도 찾아볼 수 있는데 아래와 같다. 설명을 읽어보면 key-value로 Cache를 지원하고 Generic Class이기 때문에 각 Type을 지정해줘야 하는 것 같다. 먼저, Cache없이 url로 이미지를 받아오는 작업을 해보자! 이미지는 아이언맨과 캡틴아메리카로 해봤습니다...ㅎㅎ "Image Download" 버튼을 누르면 URLSession을 이용하여 ..
UICollectionViewCell의 LifeCycle과 PreFetching UIViewControleller의 LifeCyle은 한 번 정리했었지만 자주 사용하는 UICollectionViewCell이나 UITableViewCell의 LifeCycle은 인지하고 않고 있어서 한 번 정리해야 할 것 같다. UICollectionViewCell의 LifeCycle과 PreFetching View와 관련된 작업을 할 때, LifeCycle을 알아야 더 훌륭하게 작업을 할 수가 있다. UIViewController는 처음 공부할 때 부터 인지하고 있어서 괜찮았지만 UICollectionViewCell같은 경우는 단순하게 Reusable만 된다는 것을 알고 LifeCycle을 공부하진 않았다. 단순히 deququeReusableCell로 cell을 만들고, 재사용을 위해서 ReuseQu..