[MacRuby-devel] Invoking a block in MacRuby, instantiated in Objective-C

Christian Niles christian at nerdyc.com
Sun May 15 16:04:50 PDT 2011


Here's the ticket:

	https://www.macruby.org/trac/ticket/1280

As I mentioned there, my use case isn't for a Cocoa API -- it's my own API. I'm using MacRuby to test my framework and have written a couple mock implementations in MacRuby to simplify testing.

christian.

On May 15, 2011, at 3:35 PM, Laurent Sansonetti wrote:

> Hi Christian,
> 
> I think I only implemented Ruby -> ObjC blocks support, not the other way around :) I didn't know Cocoa was exposing APIs returning ObjC blocks yet. Could you file a ticket? I will try to get that fixed in the upcoming release.
> 
> Thanks,
> Laurent
> 
> On May 15, 2011, at 1:42 PM, Christian Niles wrote:
> 
>> Hey All,
>> 
>> There's plenty of documentation showing how one can use Proc objects to invoke Objective-C methods that accept block parameters, but I can't find any way to invoke an Objective-C block from within a Ruby method.
>> 
>> Without thinking I had assumed they'd be mapped to a Proc-like object, which I could invoke with #call:
>> 
>> 	def performOperation(operation, success:success_callback, error:error_callback)
>> 		# ...
>> 		result = "..."
>> 		success_callback.call(result)
>> 	end
>> 
>> But I get an error: undefined method `call' for #<__NSAutoBlock__:0x2006b6560>
>> 
>> christian.
>> _______________________________________________
>> 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



More information about the MacRuby-devel mailing list