调用方法从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];