Guest User

Untitled

a guest
Jan 18th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. class FirstClass {
  2. var name = ""
  3. var last_name = ""
  4. var age = 0
  5. var other = "abc"
  6.  
  7. func listPropertiesWithValues(reflect: Mirror? = nil) {
  8. let mirror = reflect ?? Mirror(reflecting: self)
  9. if mirror.superclassMirror != nil {
  10. self.listPropertiesWithValues(reflect: mirror.superclassMirror)
  11. }
  12.  
  13. for (index, attr) in mirror.children.enumerated() {
  14. if let property_name = attr.label {
  15. //You can represent the results however you want here!!!
  16. print("\(mirror.description) \(index): \(property_name) = \(attr.value)")
  17. }
  18. }
  19. }
  20.  
  21. }
  22.  
  23.  
  24. class SecondClass: FirstClass {
  25. var yetAnother = "YetAnother"
  26. }
  27.  
  28. var second = SecondClass()
  29. second.name = "Name"
  30. second.last_name = "Last Name"
  31. second.age = 20
  32.  
  33. second.listPropertiesWithValues()
Add Comment
Please, Sign In to add comment