Hello, In this blog we are going to learn about reflection in swift. Reflection in swift uses Mirror API to inspect and manipulate properties at runtime. Its functionality in swift is more limited in comparison to other programming languages.
Mirror API contains a few properties via which we can access the properties of a type. Below is the example of Reflection in Swift.
In the above example, you can see that we have created an object of structure
type and passed it to the Mirror
API. Then in the next line, we are using children
property to fetch all the properties of the structure
A and printing them. The children
property returns an array of tuple
which contains 2 values. The first is label
which is of optional String type and returns the name of the property and the second is value
which is Any
type and returns the value of the property.
Properties
The mirror API contains a few more properties which are explained below.
superclassMirror
: It returns the Mirror object of superclass if available.displayStyle
: It returns theDisplayStatus
of the objects. Few example of this areclass
,enum
,tuple
,optional
,collection
, etcsubjectType
: It returns the type of the object.children
: It returns the array oftuple
which contains properties and its corresponding values.
Reflection With Class
The mirror API works same with class type objects. Below is an example illustrating this.
Thank you for reading this article. After that, if you want to read more articles regarding iOS Development click here or if you want to read more about Mirror API click here.