【发布时间】:2017-10-06 02:59:44
【问题描述】:
例如:
class Test {
var name: String;
var age: Int;
var height: Double;
func convertToDict() -> [String: AnyObject] { ..... }
}
let test = Test();
test.name = "Alex";
test.age = 30;
test.height = 170;
let dict = test.convertToDict();
dict 会有内容:
{"name": "Alex", "age": 30, height: 170}
这在 Swift 中可行吗?
我可以访问像字典这样的类吗,例如可能使用:
test.value(forKey: "name");
或者类似的?
谢谢。
【问题讨论】:
-
为什么要这样做?您可以直接在类/结构上使用关键路径。那么这里有什么意义呢?字典以何种方式比类/结构“更好”? “我可以像字典一样访问类吗?”是的,确切地说,在 Swift 4 中使用键路径。
-
您要转换的目的是什么?如果您要保存数据,您应该创建一个带有类的模型。将 struct 转换为 Data 会更麻烦。
-
我想在 ViewController 之间进行 JSON 编码和传递值的转换。从接受的答案来看,我相信
Encodable是关键。
标签: swift class object dictionary