10478


Swiftで構造体の配列をDictionaryに変換したいのですが、  
スマートに変換することは可能でしょうか？

[code]

    struct Employee {
        var Id: String!
        var Name: String!
        var Salary: String!
    }
    
    var emps = [Employee]()
    emps.append(Employee(Id: "111", Name: "222", Salary: "333"))
    emps.append(Employee(Id: "AAA", Name: "BBB", Salary: "CCC"))
    
[/code]

下記のようなDictionaryに変換結果がなることを期待します。

[code]

    let params = ["emps":[["Id": "111", "Name": "222", "Salary": "333"],["Id": "AAA", "Name": "BBB", "Salary": "CCC"]]]
    
[/code]


CC BY-SA 3.0
2015-05-21T09:06:09.053
10459
2015-05-21T23:45:30.660
9183
question
ios swift
swiftで構造体の配列をDictionaryに変換する方法について


あなたの言うスマートが何かを定義しなければ答えづらいです。  
私なら構造体に変換するための関数を定義します。

[code]

    struct Employee {
        var Id: String!
        var Name: String!
        var Salary: String!
        func toDictionary() -> [String: String!] {
            return [
                "Id" : Id,
                "Name" : Name,
                "Salary" : Salary,
            ]
        }
    }
    
    let params = [
        "emps": emps.map{e in e.toDictionary()}
    ]
    
[/code]


CC BY-SA 3.0
2015-05-21T23:45:30.660
10478
2015-05-21T23:45:30.660
9558
10459
answer