[MacRuby] #330: forwardingTargetForSelector not working properly in Objective-C classes loaded in MR

MacRuby ruby-noreply at macosforge.org
Sat Dec 4 22:11:46 PST 2010


#330: forwardingTargetForSelector not working properly in Objective-C classes
loaded in MR
--------------------------------+-------------------------------------------
 Reporter:  diffengr@…          |       Owner:  lsansonetti@…        
     Type:  defect              |      Status:  new                  
 Priority:  major               |   Milestone:  MacRuby 1.0          
Component:  MacRuby             |    Keywords:  #reduction           
--------------------------------+-------------------------------------------

Comment(by mattaimonetti@…):

 Summary of the reduction code.

 DummyClass.h

 {{{
 #import <Cocoa/Cocoa.h>

 @interface DummyClass : NSObject {  }

 @end
 }}}

 DummyClass.m

 {{{
 #import "DummyClass.h"

 @implementation DummyClass

 - (id)forwardingTargetForSelector:(SEL)sel {
     NSLog(@"The following method was caught by
 forwardingTargetForSelector: %@", NSStringFromSelector(sel));
                 return @"foo";
 }

 @end
 }}}

 main.m
 {{{
 #import <MacRuby/MacRuby.h>
 #import "DummyClass.h"

 int main(int argc, char *argv[])
 {
     DummyClass* objcObj = [[DummyClass alloc] init];
     NSLog(@"Calling a string method on our objC object forwarding it to a
 NSString object.");
     [objcObj boolValue];
     return macruby_main("rb_main.rb", argc, argv);
 }
 }}}

 rb_main.rb

 {{{
 framework 'Cocoa'

 obj = DummyClass.alloc.init
 puts "called from MacRuby: obj#foo #{obj.boolValue}"

 # Starting the Cocoa main loop.
 NSApplicationMain(0, nil)
 }}}

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/330#comment:3>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list