In general it's just better and simple to follow Cocoa's conventions and never overwrite the default initializer but instead create your own initializer.
I agree on that point of course they are different calls .... but from a ruby point of view WHY isn't init with no args the same as initialize with no args....So I can live with it but my preference is with ruby initialize... this is macRuby right?TerryOn 7/05/2010, at 6:09 PM, Thibault Martin-Lagardette wrote:Hi!_______________________________________________I totally agree that it is a little confusing. But #new an #new(owner) are two different methods, especially in Obj-C.Calling A.new(arg) cannot call -init, since -init doesn't take any argument, so it will call any initializer method that takes one argument :-).This is why:class A; def initialize; end; end; # Will never be called with A.new, because -init will be called insteadclass A; def initialize(str); end; end; # Will be called with A.new(str), because -init cannot be calledIt simply depends on how you define your initilizer method :-)
--Thibault Martin-Lagardette
On May 6, 2010, at 21:54, Terry Moore wrote:This is only true if you follow objc init I think... for example..._______________________________________________I came across this problem with NSWindowController and it took me a while to figure out.class PasswordController < NSWindowControllerdef initializeinitWithWindowNibName("Password") ##FAIL Never called! init called insteadendclass PrefController < NSWindowControllerdef initialize(owner)@owner = ownerinitWithWindowNibName("Preferences")endendThe first example fails and so I finally got that I needed the init method to make the window appear but I couldn't figure out why the second option worked.Must have been a long day but clearly if designate an initialize with a param init is bypased...so if I take theclass A <Stringdef initialize(b)superendendexample and do A.new("hi there") givesinitialize=> "hi there"so what is going on? I think there might need to be some clarity.....Terry
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel