Re: Self describing NSObjects.
Re: Self describing NSObjects.
- Subject: Re: Self describing NSObjects.
- From: Seth Willits <email@hidden>
- Date: Thu, 05 Feb 2015 15:56:15 -0800
On Feb 5, 2015, at 3:54 PM, Seth Willits <email@hidden> wrote:
>> How would you think about implementing this? It seems like I run into this need year after year after year.
>
>
> NSString * NSObjectDescriptionUsingProperties(id obj)
> {
> unsigned int propCount;
> objc_property_t * propList = class_copyPropertyList([obj class], &propCount);
> NSMutableString * ms = [NSMutableString stringWithFormat:@"<%@: %p>", NSStringFromClass([obj class]), obj];
> if (propCount > 0) {
> [ms appendString:@" {\n"];
> for (unsigned int i = 0; i < propCount; i++) {
> const char * propName = property_getName(propList[i]);
> [ms appendFormat:@"\t%s = %@,\n", propName, [obj valueForKey:[NSString stringWithUTF8String:propName]]];
> }
> [ms appendString:@"}"];
> free(propList);
> }
>
> return ms;
> }
>
And if you want to get really creative, you could swizzle NSObject's -description to call it.
--
Seth Willits
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden