Есть класс, в котором есть поля, я хочу, чтобы Swift Reflection назвал Зеркало получить все поля и изменить их на новое значение, я могу получить все дочерние элементы класса имя и значение
let m = Mirror(reflecting: self)
for item in m.children {
print("\(item.name) \(item.value)")
}
но нельзя изменить значение переменной:
let m = Mirror(reflecting: self)
for item in m.children {
item.value = "new Value"
}
и выдать ошибку, поскольку поле является неизменным:
Невозможно присвоить свойству: 'item' - это константа 'let'
есть ли способ изменить значение на Mirror is Swift?
Хотя у Java есть возможность для этой работы Отражение
ОБНОВЛЕНИЕ
Я использую var
в цикле и могу изменять значение, но поле значения не изменяется в классе.
let m = Mirror(reflecting: self)
for var item in m.children {
item.value = "new Value"
}