최근 포스트

[Swift] 클로저 기반 데이터 바인딩과 Box

May 03 2021

데이터 바인딩은 상태가 바뀌었을 때 그 변화를 UI 같은 소비자에게 전달하는 연결 방식이다. UIKit에서는 delegate, KVO, NotificationCenter, Combine, 클로저 등 여러 선택지가 있다. 작은 MVVM 예제에서는 Box라는 단순한 래퍼로 동작 원리를...

[암호] ARIA 블록 암호 이해하기

April 29 2021

ARIA는 국내에서 개발되어 국가표준으로 제정된 범용 블록 암호다. RFC 5794에 알고리즘이 공개되어 있으며, 128비트 블록과 128·192·256비트 키를 사용한다.

[iOS] Coordinator 패턴으로 화면 전환 분리하기

April 29 2021

UIKit 앱에서 View Controller가 다음 화면 생성, 데이터 전달, push와 present까지 모두 맡기 시작하면 화면 전환 코드가 빠르게 복잡해진다. Coordinator 패턴은 이 이동 흐름을 별도 객체로 분리한다.

[Swift] Optional과 if let·guard let

April 28 2021

Swift의 Optional은 값이 있거나 없을 수 있음을 타입으로 표현한다. String?은 String과 다른 타입이며, 값을 사용하려면 안전하게 꺼내는 과정이 필요하다.

[iOS] NSCoding과 Codable은 무엇이 다른가

April 28 2021

Objective-C와 Swift를 함께 사용하다 보면 NSCoding과 Codable을 비슷한 기능으로 오해하기 쉽다. 둘 다 값을 인코딩하고 복원하지만 목적과 데이터 형식이 다르다.