ObjC 3

Swift KeyPath 정리

Swift KeyPath 정리 Realm의 @objc dynamic으로 사용하는 이유, property wrapper의 다채로운 활용 등 KeyPath를 이해하면 Swift 언어의 발전을 이해하는데 도움. KeyPath란?KeyPath 표현식은 특정 타입의 속성(property) 또는 서브스크립트(subscript)를 참조.KeyPath 표현식은 주로 키-값 관찰과 같은 동적 프로그래밍 작업에서 사용.KeyPath 표현식은 다음과 같은 형태를 가짐. 사용 형태\. 샘플 코드import SwiftUI class Person: NSObject { @objc var name: String @objc var age: Int @objc dynamic var hp: Int = 100 ..

Swift Protocol (@objc, extension 기본 구현)

Swift Protocol (@objc, extension 기본 구현) 프로코콜을 작성할 때 @objc 키워드를 이용하면 optional 처리하여 채택하는 쪽에서 기본 구현을 하지 않아도 되었음. 근데 개발을 하다 보니까 @ojbc를 사용하지 않으면서 처리할 수 있는 방법이 없을까 찾아보기 시작근데 UITableViewDelegate를 까보니까 내부 구현이 Swift인데, 기본 구현을 강제하지 않음. 그러니까 프로토콜 구현에 @objc 없이 사용 가능 해결Swift로 작성할 때는 protocol의 extension을 추가해 메서드를 구현해주면 됨 관련 개념으로는 Mixin이 있음 참고에 링크 추가protocol MyInterface { func add() func remove()}exten..

iOS RxDelegateProxy 만들어보기 #2 (StarScream + RxProxy)

iOS RxDelegateProxy 만들어보기 #2iOS 인턴을 수행하고 있는데, RxStarscream이 관리가 안되어서 Starscream 기반으로 RxStarscream을 사내에서 직접 만들어서 사용하기로 함.문제 RxStarscream의 RxSwift 버전이 4점대에 멈춰있고, 현재는 6점대로 수정한 PR도 받아주지 않는 상황이라서 오픈소스를 사용할 때는 이런 점들도 잘 고려해야겠다 싶음!  연관포스팅[iOS RxStarScream 총정리](https://rldd.tistory.com/271)[iOS Starscream 총정리](https://rldd.tistory.com/272)[iOS RxDelegateProxy 만들어보기 #1](https://rldd.tistory.com/273)[iOS ..