未定义的方法`选择&#39;对于#<uibutton:0xa7f1390> </uibutton:0xa7f1390>

时间:2014-04-05 18:18:53

标签: ios iphone ruby rubymotion

我正在使用RubyMotion使用UIButton创建一个切换按钮。

这就是我正在做的事情

@favorite = rmq.append(UIButton, data[:fav] == 1? :fav_button_selected : :fav_button_deselected).get
@favorite.setTitle("d", forState: UIControlStateNormal)
@favorite.setTitle("s", forState: UIControlStateSelected)


@favorite.on(:touch) do |sender|
  sender.selected = !sender.selected #gives error
  # sender.selected = true ##This works fine!
end

但是,我收到错误

`block in update:': undefined method `selected' for #<UIButton:0xa7f8f80> (NoMethodError)
    from uicontrol.rb:93:in `call:event:'

我不知道为什么我会收到这个错误。我可以设置selected属性,但是当我尝试得到它时,我得到了上述错误。我做错了什么?

1 个答案:

答案 0 :(得分:1)

容易!而且您不需要使用isSelected

sender.selected?  # <= add the '?' mark :-)