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?