How do I use reflection with Mirror to inspect types in Swift?

In Swift, you can use reflection to inspect types and their properties using the `Mirror` type. Reflection is particularly useful for debugging, logging, and dynamically accessing the properties of objects without knowing their exact structure at compile time.

Here's an example of how you can use `Mirror` to inspect a custom struct type and its properties:

struct Person { var name: String var age: Int } let person = Person(name: "John Doe", age: 30) let mirror = Mirror(reflecting: person) print("Type: \(mirror.subjectType)") for child in mirror.children { if let propertyName = child.label { print("\(propertyName): \(child.value)") } }

Swift Reflection Mirror Type Inspection Swift Programming Debugging