0
, 나는 Rubymotion 찻잔 변수 범위
class WindowController < TeacupWindowController
stylesheet :pref_window
layout do
@loginButton = subview(
NSButton, :loginButton,
state: NSOffState,
buttonType: NSSwitchButton,
action: 'login',
target: self,
)
puts @loginButton.class
end
puts @loginButton.class
처음 박았
은 NSButton 클래스를 반환 레이아웃 블록의 외부 변수에 액세스하기 위해 노력하고있어,하지만 두 번째는 무기 호 클래스를 반환합니다.@loginButton을 프로그래밍 방식으로 변경해야하는 경우 어떻게해야합니까? 예를 들어
:
@loginButton.setState(NSOnState)
레이아웃 블록 외부에서 작동하지 않습니다.
힌트를 보내 주셔서 감사합니다. 트윗의 예에서 나는 질문에 링크되어 있지만, 그들은 자기를 사용하지 않는다. – vash
왜냐하면 그들은 변수와 관련된 액션 내에서만 변수를 사용하기 때문입니다. 그래서 나는'def login' 내에서 @loginButton 변수를 사용할 수 있지만 다른 메소드 정의에서는 사용할 수 없습니다. 이게 옳은 거니? – vash
제가 잘못 생각한 것 같습니다. 문제는 레이아웃 블록이 아직 호출되지 않았다는 것입니다. 뷰를로드하고 표시 한 후 실행될 액션이나 다른 액션에서 @loginButton을 사용하는 경우에는 모든 것이 좋을 것입니다. – FluffyJack