질문이 있습니다!
NSKeyedArchiver를 사용한 아카이빙에서 문제가 발생하였습니다.
enum type 프로퍼티가 아카이빙이 안되는 것이었습니다.
그래서 계속 삽질도 해보고, 그 결과 나름의 결론이 나왔는데요, swift enum 타입을 objective c에서 이해를 하지 못한다는 것이었습니다.
그래서 부득이하게 rawValue로 아카이빙을 진행하고 decode할 때 다시 rawValue로 enum을 init 해주는 방식을 생각했는데 이렇게 해도 괜찮을까요…?
네, 맞습니다.
스위프트 Native enum은 Objective-C에서는 사용할 수 없습니다.
한정적으로 Int 타입의 rawValue를 갖는 스위프트 enum 타입만 사용할 수 있습니다. UIView.AnimationCurve 등의 enum을 보더라도 Objective-C의 enum 타입은 스위프트의 원시값을 Int로 갖는 타입으로 연결된 것을 볼 수 있습니다.