[MacRuby-devel] Implementing Delegate Functions
Laurent Sansonetti
lsansonetti at apple.com
Wed Oct 1 12:24:36 PDT 2008
Hi Chris,
On Oct 1, 2008, at 11:17 AM, Chris Williams wrote:
> I am trying to port StarJour ( http://github.com/lachie/starjour/tree/master
> ) over to MacRuby and need some assistance with how to override
> delegate functions for the NSNetServiceBrowser Is there somewhere
> (tutorial RFTM?) I can use to find this?
Implementing delegate methods is done the same way you would do it in
Objective-C. Example:
browser = NSNetServiceBrowser.new
delegate = Object.new
def delegate.netServiceBrowserWillSearch(browser)
puts "search commencing!"
end
def delegate.netServiceBrowser(browser, didNotSearch:errorInfo)
puts "search not successful: #{errorInfo}"
end
browser.delegate = delegate
browser.searchForBrowsableDomain,
You could also implement the delegate methods in a separate class and
pass a new instance of that class to the setDelegate: method
(available as #delegate= too) of the net service browser object.
Creating Objective-C selectors from MacRuby is discussed in the
"Defining Methods" section of the tutorial:
http://www.macruby.org/trac/wiki/MacRubyTutorial
HTH,
Laurent
More information about the MacRuby-devel
mailing list