구조체를 신속하게 사용하고 있습니다.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
?
답장을 보내 주셔서 감사합니다. 구조체에 Static 변수가 여러 개 있다고 가정합니다. static let signupLastName = "signupLastName", static let signupEmail = "signupEmail"등. 대신 "return mirror (self, children : ["signupFirstName ": const.signupFirstName]) ",이 구조체를 동적으로 루프 싶습니다. 어떻게해야합니까? 도와주세요. – Rupshikha
@ user3897036 아쉽게도 사용자 정의 미러를 만들기 위해 무엇이든 동적으로 루프 할 수있는 방법이 없습니다. MirrorType의 이니셜 라이저는 _literal_ 사전 만 허용하므로, 반영하려는 정확한 값을 전달해야하며 변수 등을 기반으로 루핑하거나 생성 할 가능성이 없습니다. (다시, 스위프트 반사는 더 좋아질 것입니다 하지만 지금은 극히 제한적이며 그다지 유용하지는 않습니다. 당신이 성취하고자하는 것에 대해 다른 접근법을 시도하고 싶을 수도 있습니다. –
고맙습니다 .. 당신의 솔루션은 매력처럼 작동합니다. :) – Rupshikha