How about checking the return type of the recipient?
Method m = class_getInstanceMethod([MyClass class], @selector(somePropertyGetter));
char type[32];
method_getReturnType(m, type, sizeof(type));
printf("Property type: %s\n", type);
Edit: to get the actual name of the class, inherit the property itself (code taken from this category ):
objc_property_t p = class_getProperty([MyClass class], "property");
objc_property_t p = class_getProperty([MyClass class], sel_getName(someSelector));
const char *typeStr = property_getTypeString(p);
user529758
source
share