6

次のようなことをするのは簡単です:

class Collection {
    init(json: [String: AnyObject]){
        guard let id = json["id"] as? Int, name = json["name"] as? String else {
            print("Oh noes, bad JSON!")
            return
        }
    }
}

その場合、letローカル変数の初期化に使用していました。ただし、クラス プロパティを使用するように変更すると、失敗します。

class Collection {

    let id: Int
    let name: String

    init(json: [String: AnyObject]){
        guard id = json["id"] as? Int, name = json["name"] as? String else {
            print("Oh noes, bad JSON!")
            return
        }
    }

}

letまたはvar使用する必要があると不平を言っていますが、明らかにそうではありません。Swift 2でこれを行う適切な方法は何ですか?

4

1 に答える 1