Não é possível analisar a matriz JSON com JSONDecoder no Swift 4

Eu tenho uma matriz JSON que preciso analisar e optei por usar JSONDecoder para analisá-la.

A matriz JSON fica assim:

[{"Id":0,"Key":"key0","Name":"name0","Title":"title0"},{"Id":1,"Key":"key1","Name":"name1","Title":"title1"},{"Id":2,"Key":"key2","Name":"name2","Title":"title2"}]

O problema é que JSONDecoder cria a matriz, mas todos os campos estão vazios no objeto. Qual é o problema aqui?

Aqui está o meu arquivo de recreio. Você pode ver que todos os campos estão vazios após a análise:

//: Playground - noun: a place where people can play

import UIKit
import Foundation

class Result: Codable{
    let title: String = ""
    let id: Int = 0
    let key: String = ""
    let name: String = ""

    enum CodingKeys: String, CodingKey{
        case title = "Title"
        case id = "Id"
        case key = "Key"
        case name = "Name"
    }
}

let data = "[{\"Id\":0,\"Key\":\"key0\",\"Name\":\"name0\",\"Title\":\"title0\"},{\"Id\":1,\"Key\":\"key1\",\"Name\":\"name1\",\"Title\":\"title1\"},{\"Id\":2,\"Key\":\"key2\",\"Name\":\"name2\",\"Title\":\"title2\"}]".data(using: .utf8)!


let decoder = JSONDecoder()
do{
    let results = try decoder.decode([Result].self, from: data)
    print("Result count: \(results.count)")
    for result in results{
        print("Name: \(result.name)")
    }
}catch let exception{
    print(exception.localizedDescription)
}

questionAnswers(1)

yourAnswerToTheQuestion