Perhaps this will help:
You can get a list of properties in a class using class_copyPropertyList
objc_property_t * class_copyPropertyList(Class cls, unsigned int *outCount)
and then from each property you can get the property name using the property_getName function and property_getName attributes using the property_getAttributes function (if you need to filter read and write properties).
source share