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

我想从另一个类调用(void)方法,类ViewController.h&.m在ViewController.h文件中;

-(void)showMore; 

并在我有ViewController.m文件

 -(void)showMore { //my stuff to show in here } 

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

 ViewController *app = (ViewController *)[[UIApplication sharedApplication] init]; [app showMore]; 

它不会在代码中显示任何错误,但在使用无法识别的select器进行testing时会崩溃。

我也试过没有成功,

 ViewController *app = (ViewController *) [ViewController init]; [app showMore]; 

任何帮助将非常感激! 🙂

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

 ViewController *myViewController = [[ViewController alloc] init]; [myViewController showMore]; 

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

 ViewController *myViewController = (ViewController*)[UIApplication sharedApplication].delegate.window.rootViewController; [myViewController showMore]; 

您需要先分配您的控制器:

 ViewController *app = (ViewController *) [[ViewController alloc] init]; 

你不能只是init一些东西。

尝试[[[ViewController alloc] init] showMore];

您导入视图的.h文件中的ViewController类

 #import "ViewController" @interface YourClass: UIViewController { ViewController *appView; } @Property(nonatomic, retain)ViewController *appView; @end 

然后.m类像这样分配它

 -(void)someMethod { self.appView = [[ViewController alloc] init]; [self.appView showMore]; } 

这里是所有从另一个class级调用方法,希望它会为你工作,因为它为我做了