Re: NSMethodSignature throws an exception encoding GLKMatrix4
Re: NSMethodSignature throws an exception encoding GLKMatrix4
- Subject: Re: NSMethodSignature throws an exception encoding GLKMatrix4
- From: Greg Parker <email@hidden>
- Date: Fri, 06 Sep 2013 13:12:34 -0700
On Sep 6, 2013, at 1:01 PM, Jeff Kelley <email@hidden> wrote:
> Sorry to bring up an old topic, but I’m still running into this and I’ve
> reported it as a bug (rdar://14931876). Say you have this method:
>
> - (GLKMatrix4)identityReturningMethod
> {
> return GLKMatrix4Identity;
> }
>
> Now, in another method in the same class, you try to make a signature for
> that selector:
>
> [[self class] instanceMethodSignatureForSelector:@selector
> (identityReturningMethod)];
>
>
> This will crash with the exception in my previous post.
>
> *** Terminating app due to uncaught exception 'NSInvalidArgumentException',
>
> reason: '+[NSMethodSignature signatureWithObjCTypes:]: unsupported type
> encoding spec '(' in '(_GLKMatrix4={?=ffffffffffffffff}[16f])8@12''
>
> Am I correct that this is a bug in +[NSMethodSignature signatureWithObjCTypes:]?
Your return type is too complicated for NSMethodSignature to handle correctly. GLKMatrix4 is a union of a struct and an array. I don't think NSMethodSignature knows how to handle any union types.
--
Greg Parker email@hidden Runtime Wrangler
_______________________________________________
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