[MacRuby-devel] Out parameters with MacRuby

Laurent Sansonetti lsansonetti at apple.com
Sun Apr 26 19:14:15 PDT 2009


Hi Alex,

On Apr 26, 2009, at 6:20 PM, Alex Vollmer wrote:

> On Apr 26, 2009, at Apr 26, 10:09 AM, rebotfc wrote:
>
>> errorp = Pointer.new_with_type("@")
>>
>> result = NSXMLDocument.alloc.initWithData(data,  
>> options:NSXMLDocumentValidate, error:errorp)
>>
>> # access error
>> errorp[0]
>
> Ah cool. Thanks for the response. Is there any documentation on the  
> possible values you can hand to the "new_with_type" method? What  
> does that '@' sign mean?

http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtTypeEncodings.html

In the case of a C structure, you can call the #type class method on  
the struct class.

$ macirb
irb(main):001:0> framework 'Foundation'
=> true
irb(main):003:0> NSRect.type
=> "{CGRect={CGPoint=dd}{CGSize=dd}}"

The next version of MacRuby will have a better Pointer class which  
will accept symbols like :int, :object, etc., but in the meantime you  
need to pass the Objective-C types.

HTH,
Laurent


More information about the MacRuby-devel mailing list