[MacRuby-devel] NSTimer.timerWithTimeInterval ?

Matt Aimonetti mattaimonetti at gmail.com
Tue Nov 8 04:42:07 PST 2011


Thanks Robert for the feedback. The challenge is that technically, the
param keys are part of the method signature. In Objective-C, this is called
a selector and you can define multiple methods taking different "keyword
arguments" and therefore somewhat overloading the method. This is a very
common approach in Cocoa for instance.

So to implement what you are suggesting we would have to do some voodoo to
lookup methods which might have a similar selector.
That said, I think it's a fair feedback and it's great to hear some of the
issues new users are facing.

Thanks,

- Matt

On Tue, Nov 8, 2011 at 3:39 AM, Robert Feldt <robert.feldt at gmail.com> wrote:

> Yes, thanks again. What "got me" here is that the error message
> complained that the method wasn't there so I didn't really consider
> looking at the formatting of the parameters. I realize now that
> MacRuby probably does method lookup/disambiguation based on the "param
> names" (or what they are called in objective-c).
>
> So a suggestion to the MacRuby team would be to try to make the error
> message indicate this in some way if possible.
>
> So instead of simply:
>
>  undefined method `scheduledTimerWithTimeInterval' for NSTimer:Class
> (NoMethodError)
>
> Something like:
>
>  undefined method `scheduledTimerWithTimeInterval' (or missing/use of
> parameters) for NSTimer:Class (NoMethodError)
>
> would be helpful and imho more "true". OTOH this might make it into an
> ArgumentError so not easy to handle...
>
> Regards,
>
> Robert
>
> On Tue, Nov 8, 2011 at 12:32 AM, Matt Aimonetti <mattaimonetti at gmail.com>
> wrote:
> > Here is an example of a small game written entirely in MacRuby and which
> > uses NSTimer to run the game
> > loop:
> https://github.com/mattetti/phileas_frog/blob/master/game_loop.rb#L32-36
> > I hope it helps,
> > - Matt
> >
> > On Mon, Nov 7, 2011 at 11:54 AM, Robert Feldt <robert.feldt at gmail.com>
> > wrote:
> >>
> >> Thanks guys, I'll try to read up on some more tutorials before making
> >> a fool of myself again... ;)
> >>
> >> Cheers,
> >>
> >> Robert
> >>
> >> On Mon, Nov 7, 2011 at 8:42 PM, Richard Kilmer <rich at infoether.com>
> wrote:
> >> > Take the calling param sequence and turn it into a 1.9 hash statement
> in
> >> > order :)
> >> >
> >> > timer = NSTimer.timerWithTimeInterval 60, target: self, selector:
> >> > 'recheckAndUpdateTitle:', userInfo: nil, repeats: true
> >> >
> >> > because this is the actual selector:
> >> > timerWithTimeInterval:target:selector:userInfo:repeats:
> >> >
> >> > On Nov 7, 2011, at 2:33 PM, Robert Feldt wrote:
> >> >
> >> >> Hi,
> >> >>
> >> >> Noob to both MacRuby and Cocoa/Objective-C here (but not Ruby) so
> >> >> please forgive is this is obvious but when I try to call
> >> >>
> >> >> timer = NSTimer.timerWithTimeInterval(60, self,
> >> >> 'recheckAndUpdateTitle:', nil, true)
> >> >> NSRunLoop.currentRunLoop.addTimer(timer)
> >> >>
> >> >> I get:
> >> >>
> >> >> undefined method `timerWithTimeInterval' for NSTimer:Class
> >> >> (NoMethodError)
> >> >>
> >> >> which is very confusing given:
> >> >>
> >> >>
> >> >>
> http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSTimer_Class/Reference/NSTimer.html#//apple_ref/occ/cl/NSTimer
> >> >>
> >> >> and
> >> >>
> >> >> http://stackoverflow.com/questions/1449035/how-do-i-use-nstimer
> >> >>
> >> >> What am I missing here? Any advice appreciated!?
> >> >>
> >> >> --
> >> >> Thanks in advance,
> >> >>
> >> >> /Robert Feldt
> >> >> _______________________________________________
> >> >> MacRuby-devel mailing list
> >> >> MacRuby-devel at lists.macosforge.org
> >> >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> >> >
> >> > _______________________________________________
> >> > MacRuby-devel mailing list
> >> > MacRuby-devel at lists.macosforge.org
> >> > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> >> >
> >>
> >>
> >>
> >> --
> >> Best regards,
> >>
> >> /Robert Feldt
> >> --
> >> Tech. Dr. (PhD), Assoc. Professor in Software Engineering
> >> Chalmers, Software Engineering Dept
> >> Blekinge Institute of Technology, Software Engineering Research Lab
> >> robert.feldt (a) chalmers.se     or     robert.feldt (a) gmail.com
> >> Mobile phone: +46 (0) 733 580 580
> >> http://www.cse.chalmers.se/~feldt
> >> _______________________________________________
> >> MacRuby-devel mailing list
> >> MacRuby-devel at lists.macosforge.org
> >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> >
> >
> > _______________________________________________
> > MacRuby-devel mailing list
> > MacRuby-devel at lists.macosforge.org
> > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> >
> >
>
>
>
> --
> Best regards,
>
> /Robert Feldt
> --
> Tech. Dr. (PhD), Assoc. Professor in Software Engineering
> Chalmers, Software Engineering Dept
> Blekinge Institute of Technology, Software Engineering Research Lab
> robert.feldt (a) chalmers.se     or     robert.feldt (a) gmail.com
> Mobile phone: +46 (0) 733 580 580
> http://www.cse.chalmers.se/~feldt
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20111108/7dfcb170/attachment.html>


More information about the MacRuby-devel mailing list