如何访问类数据,就好像它是一个字典一样

时间:2017-02-25 17:10:29

标签: swift class dictionary

我正在创建自己的类,用于存储与用户相关的信息。就像swiftyJSON框架一样,我想把数据看作变量是字典。

实施例,

使用SwiftyJSON时,您可以运行如下所示的代码:

let x = JSON["x"]
let y = JSON["y"].strVal
let x = JSON["z"].intVal

我想做的是拥有如下所示的课程:

class User
{
    private (set) public var DATA:[String:Any]
    public init(){}
    public function login(username:String, password:String)
    {
        //Login code here
        self.DATA = loginResult
    }
}

let user = User()
user.login(username:"username", password:"password")
let name = user["name"].strVal

我怎样才能在swift中写这个?

1 个答案:

答案 0 :(得分:1)

您想使用subscript

class User
{
    private (set) public var DATA:[String:Any]
    public init(){}
    public function login(username:String, password:String)
    {
        //Login code here
        self.DATA = loginResult
    }

    subscript(key: String) -> Any? {
        return DATA[key]
    }
}

let user = User()
user.login(username:"username", password:"password")
let name = user["name"].strVal

您可能希望将DATA存储为SwiftyJSON,因此您可以在其上调用strVal等 - 只需根据需要更新支持属性和下标签名。