Swift 如何像访问字典一样访问类数据
我正在创建自己的类,该类存储与用户相关的信息。就像swiftyJSON框架一样,我希望像访问字典一样访问数据 例如 使用SwiftyJSON时,可以运行如下所示的代码:Swift 如何像访问字典一样访问类数据,swift,class,dictionary,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(){}
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写这封信呢?您想使用:
您可能希望将数据存储为SwiftyJSON,这样就可以调用strVal等,只需根据需要更新backing属性和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