On Aug 28, 2014, at 21:09 , Graham Cox <graham....@bigpond.com> wrote:
> Actually that will work for me. I only need to support size, points and rects > at the moment, so it's easy enough to use the -objCType to see which one I > have and then just change the field according to which specific string I > pass. A category on NSValue will wrap that up neatly enough. You can get the information you need out of the Obj-C runtime. In the case where a key represents an @property (which is the only case I actually use) the code looks like this (omitting error checking): objc_property_t classProperty = class_getProperty (owningClass, classPropertyName); NSString* attributes = @(property_getAttributes (classProperty)); NSArray* components = [attributes componentsSeparatedByString: @",â]; Now you have an array of strings representing property attributes, the first character of which is the attribute type. The property type is attribute type âTâ, and the rest of the string for a struct type has this form: {<struct-tag-name>=âĤ which you can use to figure out what you need. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com