快速上课

时间:2019-03-21 17:55:39

标签: ios swift

是否可以使用String访问类中的变量?例如。我有以下结构Person.swift

struct Person: Codable {
    let name: String?
    let id: String?
}

我可以访问变量name并使用某种字符串反射方法(例如Java)而不是调用Person.name = ""方法来更改变量吗?

1 个答案:

答案 0 :(得分:0)

您可以使用 KVC

以字符串形式访问道具

唯一的缺点是它最初来自 Objects ,因此您不能使用结构,并且道具必须是 Objective C动态类型

  class Person: NSObject, Codable {
       @objc dynamic var name: String = ""
   }


   let person = Person.init()
   person.name = "Mat" // Name value "Mat"

   person.setValue("Josh", forKey: "name") // Name value "Josh"