Como salvar objetos personalizados que implementam Codable

Agora é mais fácil com o Swift 4 codificar / decodificar de e paraJSON ou lista de propriedades.

Mas não consigo encontrar como codificar para Dados usando Codable, sem usar os métodos Objective-CinitWithCoder eencodeWithCoder.

Considerando esta classe simples:

struct Question: Codable {
    var title: String
    var answer: Int
    var question: Int
}

Como codificá-lo para dados usandoCodingKeys e nãoinitWithCoder eencodeWithCoder?

EDIT: Eu também preciso desserializar objetos salvos anteriormente nos padrões do usuário usando o NSKeyedArchiver.

questionAnswers(3)

yourAnswerToTheQuestion