Codable vs. NSCoding 차이점

Codable 방식

실행결과 : Beverage(Coca), Beverage(TOP), Beverage(Pepsi)

NSCoding + NSKeyedArchiver 방식

실행결과: Coke(true)-(Soda(50.0)-(Beverage(Coca))), Coffee(256.0)-(Beverage(TOP)), Coke(false)-(Soda(51.0)-(Beverage(Pepsi)))


  • Codable 프로토콜은 NSCoding 프로토콜에 대한 대체제가 아니다.
  • 상속 관계를 갖고 계층화된 클래스가 다형성으로 동작할 때는 NSCoding 프로토콜을 사용해야 한다.
  • Codable 프로토콜은 struct 나 class도 채택이 가능하다.
  • NSCoding은 NSObject에서 상속받은 클래스만 채택할 수 있다.
  • Codable과 NSCoding을 동시에 채택할 수는 있다.
  • 어떤 타입이고, 어떤 관계를 갖는지 뿐만 아니라 다형성을 지원해야 하는지도 프로토콜을 채택할 때 기준이 되어야 한다.

관련 내용 설명 영상




Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


More from Medium

changes: going through life #rap #mix

Discovering Waiting in Dating❤️

The all-important Why