On 29 Apr 2011, at 18:45, Mathieu Suen wrote: > For the forwardInvocation: I am just wondering how could I add method like > drawRect:. I guess that drawRect: is implement in the NSView class so > forwardInvocation: will never be called.
Yes, sorry, I wasn't thinking. You will need to explicitly register a trampoline for each method that your subclass calls. This will need to collect the arguments from the ObjC method and then call the Smalltalk method. > Or do you mean that each method added to MyView should be add in objective-c > with the same code than forwardInvocation: I have implement up to now. That wasn't what I meant, but it's what I would have meant if I'd done the thinking before the typing. > Do you mean that +resolveInstanceMethod: is call each time before sending a > message to an object? No, it's only called if the runtime can't find a method corresponding to the selector. It's fine for proxies, not so fine for subclasses that need to override the real methods. >> You will also have some fun handling message sends to super from Smalltalk. >> Probably the best thing to do is support some kind of composition that looks >> like subclassing from the Objective-C side, but not from the Smalltalk side. > > Thanks a lot > PS. I have seen your books on amazon there look very interesting. Which one > do you recommend? Depends on what you're interested in. The Xen one only if you're interested in operating systems. Cocoa Programming goes into a lot of detail about the Cocoa / GNUstep APIs. The phrasebook is a pocket reference containing things I think every ObjC programmer should know. David -- This email complies with ISO 3103 _______________________________________________ Etoile-discuss mailing list [email protected] https://mail.gna.org/listinfo/etoile-discuss
