Я прочитал множество учебных пособий и попробовал множество вещей, чтобы заставить это работать, но, похоже, не могу найти решение.
Все, что я хочу сделать, это использовать отражение, чтобы установить значение для именованногопеременная-член.Я могу прочитать значения просто отлично, но как мне записать значение?
Вот мой пример кода:
class MyObject
{
public var myString : String = "Not working"
}
func test()
{
let value = "It works!"
let member = "myString"
var myObject = MyObject()
let mirror = Mirror(reflecting: myObject)
for (_, var attr) in mirror.children.enumerated() {
if attr.label == member {
print("Setting value of \(member)")
// attempt to set the member variable value
attr.value = value
break
}
}
print("New value: \(myObject.myString)")
}
ЗапускВ этом примере выходные данные выводят старое значение myString.Я использую Swift 4 для iOS.
Любая помощь будет оценена.Спасибо!