【发布时间】:2016-11-14 01:24:42
【问题描述】:
我在用户视图控制器类中有许多用户属性,即
//user vars
var email: String?
var givenName: String?
var familyName:String?
var phone: String?
var dob: NSDate?
在该类中的一个方法中,我从 coredata 中检索用户数据,并在循环中使用该数据设置用户文本字段
for i in 0 ..< userTextFields.count {
let field = userTextFields[i]
let fieldName = userTextFieldKeyNames[i]
let fieldText = currentUser.valueForKey(fieldName) as? String
field.text = fieldText
}
循环中的 fieldName 变量与上述类的 ivars 匹配。有没有一种方法可以通过将循环中的 ivars 与 fieldName 字符串匹配来引用它,这样我就可以使用获取的 coredata 值来设置 ivars 的值,即从字面意义上说类似于以下内容...
if self.property.name.text == fieldName {
self.property.value == fieldText
}
即以某种方式解决类的各种属性名称......或者这是一个糟糕的设计? ....如果是这样,任何关于以更好的方式实现相同结果的建议
【问题讨论】:
标签: ios swift reflection properties