On 2003-07-11 01:50:49 +0200 Alexander Malmberg <[EMAIL PROTECTED]> wrote:

Benhur Stein wrote:
I'm getting those too. I think they are related to the last changes in base
to better support DO. It seems that message forwarding is not always working
well.
[snip]

I've noticed what might be a related problem in some apps. It seems that
combining forwarding with -performSelector: no longer works unless the
performed method has a return type (id). There seem to be issues with
using untyped selectors (although there is an id return from
-performSelector:, the forwarding code can't know this). Haven't looked
closely at it yet, though.


If you want to forward, you hav eto know types. You should get types from object which are you forwarding to, however -base used to use random types from objc runtime.



It's also pickier now than before. Forwarding won't work at all unless
you implement -methodSignatureForSelector:.


Sure you have to. Even in apple docs you have higlighted text in a box saying:


Note: To respond to methods that your object does not itself recognize, you must override methodSignatureForSelector: in addition to forwardInvocation:. The mechanism for forwarding messages uses information obtained from methodSignatureForSelector: to create the NSInvocation object to be forwarded. Your overriding method must provide an appropriate method signature for the given selector, either by preformulating one or by asking another object for one.

And it is logical. I think that the latest change, and usage of selector from object to which invocation is being sent, revealed other bugs in GS (think of it as Good).

Stefan



_______________________________________________
Bug-gnustep mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to