Como obter um nome de propriedade e seu valor usando o Swift 2.0 e reflexão?

Dado este modelo:

public class RSS2Feed {

    public var channel: RSS2FeedChannel?

    public init() {}
}

public class RSS2FeedChannel {   

    public var title: String?
    public var description: String?

    public init() {}

}

O que eu precisaria fazer para obter os nomes e valores de propriedades de umRSS2FeedChannel instância?

Aqui está o que estou tentando:

let feed = RSS2Feed()
feed.channel = RSS2FeedChannel()
feed.channel?.title = "The Channel Title"

let mirror = Mirror(reflecting: feed.channel)
mirror.children.first // ({Some "Some"}, {{Some "The Channel Title...

for (index, value) in mirror.children.enumerate() {
    index // 0
    value.label // "Some"
    value.value // RSS2FeedChannel
}

Por fim, estou tentando criar umDictionary que corresponde à instância, usando reflexão, mas até agora não consigo obter o nome e os valores das propriedades da instância.

A documentação diz que:

A etiqueta opcional pode ser usada quando apropriado, p. para representar o nome de uma propriedade armazenada ou de um caso de enum ativo e será usado para pesquisa quando Strings forem passadas para o método descendente.

No entanto, eu só recebo uma string "Some".

Além disso, a propriedade value está retornando uma sequência com o TypeRSS2FeedChannel quando eu esperava que cada filho fosse "Um elemento da estrutura da instância refletida".

questionAnswers(2)

yourAnswerToTheQuestion