[Swift] 클로저 기반 데이터 바인딩과 Box
데이터 바인딩은 상태가 바뀌었을 때 그 변화를 UI 같은 소비자에게 전달하는 연결 방식이다. UIKit에서는 delegate, KVO, NotificationCenter, Combine, 클로저 등 여러 선택지가 있다. 작은 MVVM 예제에서는 Box라는 단순한 래퍼로 동작 원리를...
데이터 바인딩은 상태가 바뀌었을 때 그 변화를 UI 같은 소비자에게 전달하는 연결 방식이다. UIKit에서는 delegate, KVO, NotificationCenter, Combine, 클로저 등 여러 선택지가 있다. 작은 MVVM 예제에서는 Box라는 단순한 래퍼로 동작 원리를...
ARIA는 국내에서 개발되어 국가표준으로 제정된 범용 블록 암호다. RFC 5794에 알고리즘이 공개되어 있으며, 128비트 블록과 128·192·256비트 키를 사용한다.
UIKit 앱에서 View Controller가 다음 화면 생성, 데이터 전달, push와 present까지 모두 맡기 시작하면 화면 전환 코드가 빠르게 복잡해진다. Coordinator 패턴은 이 이동 흐름을 별도 객체로 분리한다.
Swift의 Optional은 값이 있거나 없을 수 있음을 타입으로 표현한다. String?은 String과 다른 타입이며, 값을 사용하려면 안전하게 꺼내는 과정이 필요하다.
Objective-C와 Swift를 함께 사용하다 보면 NSCoding과 Codable을 비슷한 기능으로 오해하기 쉽다. 둘 다 값을 인코딩하고 복원하지만 목적과 데이터 형식이 다르다.