[英]How to access and assign value to a variable using a string that matches variable name
我想通過使用字符串equals到變量名來定位類中的變量(屬性)。 有辦法嗎?
class Person {
let name: String
let email: String
let address: String
let propertiesMap: [String : String] = [
"person_name": "name",
"person_email_address": "email"
]
init(_ data: NSDictionary) {
for element in data {
# string key address of Person property
propertiesMap[ element.key ]
# value to be assigned to the property
element.value
}
}
}
我希望循環遍歷數據NSDictionary,如果字典的鍵匹配類的屬性,則將數據NSDictionary中的鍵值賦給class屬性
一種方式可能是
class Person: NSObject{
@objc var name: String?
@objc var email: String?
class func from(dict: [String:String]) -> Person{
let v = Person()
for element in dict{
v.setValue(element.value, forKey: element.key)
}
return v
}
}
func test(){
let p = Person.from(dict: ["name":"John","email":"john@doe.com"])
print("name \(p.name ?? ""), email \(p.email ?? "")")
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.