Xml Serialization / Deserialization of Class in Swift

Como siendo nuevo en Swift

No sé cómo serializar una class en xml

Class Employee { var mName : String = "" var Name : String { get { return mName } set { mName = newValue } } var mDesingation : String = "" var Desingation: String { get { return mDesingation } set { mDesingation = newValue } } } 

He buscado mucho pero no he encontrado ningún motor de serialization XML para Swift.

Serialización XML

Para la serialization XML, sugiero que utilice la siguiente biblioteca:

https://github.com/skjolber/xswi

Como el uso es bastante fácil pero está bien documentado, no lo copyré aquí, sino que puedes usar ejemplos que proporcionan. Como tu class es muy fácil, es una solución suficiente. AFAIK no hay una biblioteca que proporcione serialization automática, ya que no se usa en iOS. Los datos principales le brindan la opción de serializar como XML, pero eso es altamente problemático y, sobre todo, no se puede usar para lo que desea.

NSCoding / NSKeyedArchiver

Si necesita simplemente almacenar la class en el disco y cargarla nuevamente, hay una mejor opción, y eso es usar el protocolo NSKeyedArchiver / NSCoding . Una vez más, hay un gran artículo sobre cómo usarlo con ejemplos extensos, así que solo los conceptos básicos:

  • NSCoding tu class para que se ajuste al protocolo NSCoding
  • Escribe la implementación de dos methods: encodeWithCoder: y initWithDecoder:
  • Utiliza NSKeyedArchiver para archivar su class
  • Escribe NSData que guarda en el disco (y viceversa)

¡Espero eso ayude!