调用方法从viewcontroller到类xcode

我不知道是否有可能,但我想在类对象中调用视图控制器的方法。 我在我的视图控制器的.m文件中有这样的方法:

 -(void)showLeaderBoard { GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init]; if (leaderboardController != nil){ leaderboardController.leaderboardDelegate = self; [self presentModalViewController: leaderboardController animated: YES]; } } 

我想在SKScene文件中调用该方法。

一个办法就是委派。 简而言之,您允许视图控制器成为对象的委托,所以当对象想要做一些事情时,视图控制器可以告诉它的委托(视图控制器)什么时候这样做。

步骤1:在对象上创build委托属性(在对象.h文件中):

 // be sure to import the view controller's header here @property (nonatomic, retain) YourViewControllerClass *delegate; 

第2步:在视图控制器中创build对象时,将视图控制器设置为对象委托:

 SKScene *theScene = // however you create your scene object here theScene.delegate = self; 

步骤3:在视图控制器的头文件中公开要调用对象的任何方法:

 - (void)showLeaderBoard; 

步骤4:当你想要的时候,告诉对象的委托做你想做的事(在SKScene .m文件中):

 [self.delegate showLeaderBoard];