discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Replacement for descriptionForInstanceMethod:


From: Andreas Höschler
Subject: Re: Replacement for descriptionForInstanceMethod:
Date: Tue, 8 May 2018 19:26:17 +0200

Hi Fred,

Most likely it isn’t working for the same reason as that code wasn’t working on GNUstep :-)
The runtime function will only check for methods defined by the protocol directly not for inherited ones. That is why the GNUstep function has „recursive“ in its name. It is checking in the ancestry of the protocol.

My test code was

@protocol TestProtocol

- (void)doIt;

@end

   
   Protocol *_protocol = @protocol(TestProtocol);
   SEL aSelector = @selector(doIt);
   struct objc_method_description _methodDescription = protocol_getMethodDescription(_protocol, aSelector, NO, YES);
   if (_methodDescription.name == NULL) _methodDescription = protocol_getMethodDescription(_protocol, aSelector, NO, NO);
   NSLog(@"_methodDescription.name %@", NSStringFromSelector(_methodDescription.name));
   
Where is the ancestry here? Isn't "doIt" defined directly in this example?

Thanks,

 Andreas


reply via email to

[Prev in Thread] Current Thread [Next in Thread]