2 つのコントローラーがあります。コンソールからそれらの関数を呼び出すにはどうすればよいですか?
(main)>
The only way I can figure out how to do this is by using the UIApplication sharedApplication class method and drilling down from there, which is pretty icky.
(main)> UIApplication.sharedApplication.delegate
=> #<AppDelegate:0x6c8a800 @window=#<UIWindow:0x6e71280>>
Unfortunately to access the window I had to add an attr_reader :window
to my AppDelegate class to access this private variable and then drill down even further to get at the view controllers:
(main)> vc = UIApplication.sharedApplication.delegate.window.rootViewController
=> #<TouchesViewController:0x8c747c0>
Now you should be able to call any public methods on that view controller.
私は通常、View Controller に一時的なグローバル変数を追加して、コンソールから簡単にアクセスできるようにします。
def viewDidLoad
$temp_view = self
end
それはきれいではありませんが、仕事を成し遂げます。
ほとんどの場合、UIViewController
-s の階層があり、それらを利用できます。インスタンスから開始しUIWindow#rootViewController
、 をナビゲートしますchildViewControllers
。BubbleWrap
ウィンドウへのアクセス ( App.window
) またはデリゲート ( ) のいずれかを使用することをお勧めしますApp.delegate
。私が管理しているSugarCube
gem は、ビューまたは viewController 階層を表示する簡単な方法も提供します。この目的のためだけに REPL でtree
andコマンドを使用できます。tree root