-
[Swift] Mirror 써보기Swift 2023. 10. 18. 15:51
class User: NSObject { // setValue 는 NSObject 의 method @objc var login: String = "raw" // string -> key 로 접근 가능 } func hasProperty(_ name: String, object: AnyObject) -> Bool { let mirror = Mirror(reflecting: object) for (label, _) in mirror.children { if label == name { return true } } return false } var user = User() // login: "raw" let parameters: [String: Any] = ["login": "octodog"] for (key, value) in parameters { guard hasProperty(key, object: user) else { continue } user.setValue(value, forKey: key) } print(user.login) // login: "octodog"
'Swift' 카테고리의 다른 글
[Swift] ThreadSafe 한 Class 만들기 (1) 2023.10.24 [Swift] DispatchQueue.global() 과 Task.detatched(priority: .background) 의 차이점 (0) 2023.10.24 [Swift, Combine] AnyPublisher 를 async/await throws 로 사용해보자 (0) 2023.10.04 [xcode] shortcuts (0) 2023.08.22 [Swift] Generic 을 활용해서 Array 에서 일치하는 Element 찾기 - Extension (0) 2023.08.17