swift enum 아카이빙

2 답변 글타래를 보이고 있습니다
  • 글쓴이
    • Olaf
      참가자
      • 글작성 : 3
      • 답글작성 : 3

      질문이 있습니다!
      NSKeyedArchiver를 사용한 아카이빙에서 문제가 발생하였습니다.
      enum type 프로퍼티가 아카이빙이 안되는 것이었습니다.
      그래서 계속 삽질도 해보고, 그 결과 나름의 결론이 나왔는데요, swift enum 타입을 objective c에서 이해를 하지 못한다는 것이었습니다.
      그래서 부득이하게 rawValue로 아카이빙을 진행하고 decode할 때 다시 rawValue로 enum을 init 해주는 방식을 생각했는데 이렇게 해도 괜찮을까요…?

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 580

      네, 맞습니다.
      스위프트 Native enum은 Objective-C에서는 사용할 수 없습니다.
      한정적으로 Int 타입의 rawValue를 갖는 스위프트 enum 타입만 사용할 수 있습니다.
      UIView.AnimationCurve 등의 enum을 보더라도 Objective-C의 enum 타입은 스위프트의 원시값을 Int로 갖는 타입으로 연결된 것을 볼 수 있습니다.

    • Olaf
      참가자
      • 글작성 : 3
      • 답글작성 : 3

      감사합니다ㅎㅎ!!

2 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom