0

我正在使用 RubyMotion。我在终端中看到的错误消息是:

耙中止!命令失败,状态为 (1):[DYLD_FRAMEWORK_PATH="/Applications/Xcode.a...] /Library/RubyMotion/lib/motion/project.rb:101:in block in <top (required)>' /usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in eval' /usr/local/rvm/gems/ruby -1.9.3-p194/bin/ruby_noexec_wrapper:14:in `' 任务:TOP => 默认 => 模拟器

所以错误发生在由 RubyMotion 本身创建的文件中,而不是我的文件之一。显然我仍然有错。我找到了似乎触发错误的行。这是创建 UIView 和渐变的 UIViewController 子类的相关代码:

def loadView

    button1 = UIView.alloc.initWithFrame(CGRect.make(x:0, y:55, width:100, height:40))
    gradientLayer = CAGradientLayer.layer
    gradientLayer.colors = NSArray.arrayWithObjects(UIColor.redColor.CGColor, UIColor.greenColor.CGColor, UIColor.blackColor.CGColor, nil)

虽然稍后会出现更多代码,但我发现它gradientLayer.colors是导致错误的行。如果我在 中注释掉该行及其之后的所有内容loadView,则不会发生错误。知道问题是什么吗?

4

1 回答 1

1

我之前在使用 NSArray 创建数组时遇到了麻烦。试试这个:

def loadView
  button1 = UIView.alloc.initWithFrame(CGRect.make(x:0, y:55, width:100, height:40))
  gradientLayer = CAGradientLayer.layer
  gradientLayer.colors = [ UIColor.redColor.CGColor, UIColor.greenColor.CGColor, UIColor.blackColor.CGColor ]
  # ...
end
于 2013-02-15T17:42:07.113 回答