Я использую struct в swift.перебрать атрибуты структуры в Swift
class Constants {
struct const {
static let signupFirstName = "signupFirstName"
}
}
Я хочу перебрать структуру. Для переборе я использую:
let mirrored_object = Mirror(reflecting: Constants.const())
for (index, attr) in mirrored_object.children.enumerate() {
if let property_name = attr.label as String! {
print("Attr \(index): \(property_name) = \(attr.value)")
}
}
Но это не входит в код из static
значения. Есть ли способ итерации этого struct
?
Благодарим вас за ответ. Предположим, что у меня есть множественное число статических переменных в Struct: static let signupLastName = "signupLastName", static let signupEmail = "signupEmail" и т. Д. Теперь вместо "return Mirror (self, children: [" signupFirstName ": const.signupFirstName]) ", Я хочу динамически зацикливать эту структуру. Как я могу сделать? Пожалуйста помоги. – Rupshikha
@ user3897036 К сожалению, нет возможности динамически прокручивать что-либо, чтобы создать собственное зеркало. Инициализатор для MirrorType принимает только словарь _literal_, что в конечном итоге означает, что вы должны передать точные значения, которые хотите отразить, и нет возможности для циклирования или генерации на основе переменных и т. Д.: (Опять же, Swift будет улучшаться вниз по дороге, но сейчас это крайне ограничено и не очень полезно. Возможно, вы захотите попробовать другой подход к тому, что вы планируете выполнить. –
Спасибо .. Ваше решение работает как шарм .... :) – Rupshikha