试图从另一个类调用(void)方法

use*_*723 -1 objective-c ios

我试图从另一个类调用(void)方法,该类是我在ViewController.h文件中的ViewController.h和.m;

-(void)showMore;
Run Code Online (Sandbox Code Playgroud)

我在ViewController.m文件中

-(void)showMore {

    //my stuff to show in here
}
Run Code Online (Sandbox Code Playgroud)

我使用这个方法从BoothViewController调用它;

ViewController *app = (ViewController *)[[UIApplication sharedApplication] init];
        [app showMore];
Run Code Online (Sandbox Code Playgroud)

它没有在代码中显示任何错误,但是在使用无法识别的选择器进行测试时它会崩溃.

我也尝试过没有成功;

ViewController *app = (ViewController *) [ViewController init];
        [app showMore];
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激!:)

val*_*fer 5

在向其发送消息之前,您必须分配并初始化视图控制器:

ViewController *myViewController = [[ViewController alloc] init];
[myViewController showMore];
Run Code Online (Sandbox Code Playgroud)

或者,如果View控制器是应用程序rootViewController:

ViewController *myViewController = (ViewController*)[UIApplication sharedApplication].delegate.window.rootViewController;
[myViewController showMore];
Run Code Online (Sandbox Code Playgroud)