RubyMotion и указатели

Я новичок в Objective-C, перерыл все подряд, но пока не нашел ответа на этот вопрос:

В моем проекте RubyMotion у меня есть подкласс UIView с именем StatusGuage, который содержит метод drawLinearGradient следующим образом:

def drawLinearGradient(context, rect, startColor, endColor)
  colorspace = CGColorSpaceCreateDeviceRGB()
  locations = [0.0, 1.0]
  # colors = NSArray.arrayWithObjects(startColor, endColor, nil)
  # ptrColors = Pointer.new(:object, colors)
  colors = [startColor, endColor, nil]
  # CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (CFArrayRef) colors, locations);
  CGGradientCreateWithColors(colorspace, colors, locations)
end

Я хотел бы знать, как вызвать CGGradientCreateWithColors. Он явно ожидает указатель (CFArrayRef), но я не могу понять, как его передать. Одна из итераций, которые я пробовал, закомментирована.

Вот сообщение об ошибке:

2012-05-11 16:57:36.331 HughesNetMeter[34906:17903] 
*** Terminating app due to uncaught exception 'TypeError', 
  reason: 'status_guage.rb:43:in `drawLinearGradient:': expected 
  instance of Pointer, got `[0.0, 1.0]' (Array) (TypeError)
    from status_guage.rb:13:in `drawRect:'

Спасибо за любую помощь.

6
задан Paul.s 11 May 2012 в 23:56
поделиться