[MacRuby-devel] MacRuby pointers and Obj-C function returning a value by reference
kwicher at wichry.net
kwicher at wichry.net
Mon Jan 21 14:08:48 PST 2013
I am trying to implement the following method of NSAttributedString in Macruby:
- (id)attribute:(NSString *)attributeName atIndex:(NSUInteger)index effectiveRange:(NSRangePointer)aRange
As by definition, it `Returns the value for an attribute with a given name of the character at a given index, and by reference the range over which the attribute applies.`
OK, so I need a pointer to NSRange, which I set up as follows:
range=Pointer.new("{_NSRange=QQ}")[0]
It seems to be fine as `range.class` => `NSRange`.
However, when I execute the method:
font=txtStor.attribute(NSFontAttributeName,atIndex:index,effectiveRange:range)
my `range` is always `#<NSRange location=0 length=0>`. Also, `p range` gives me `#<NSRange location=0 length=0>`.
Any ideas how to implement this correctly?
Thanks
K
More information about the MacRuby-devel
mailing list