gpt4 book ai didi

ios - 从viewcontroller调用方法到类xcode

转载 作者:行者123 更新时间:2023-11-29 10:38:58 25 4
gpt4 key购买 nike

我不知道是否可行,但我想在类对象中调用 View Controller 的方法。我的 View Controller 的 .m 文件中有这样的方法:

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

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

最佳答案

执行此操作的一种方法称为委派。简而言之,您允许 View Controller 成为对象的委托(delegate),因此当对象想要执行 View Controller 执行的操作时,它可以告诉它的委托(delegate)( View Controller )何时执行此操作。

第 1 步:在对象上创建委托(delegate)属性(在对象 .h 文件中):

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

第 2 步:当您在 View Controller 中创建对象时,将 View Controller 设置为对象委托(delegate):

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

第 3 步: 在 View Controller 的 header 中公开您希望对象调用的任何方法:

- (void)showLeaderBoard;

第 4 步:当您需要时,告诉对象的委托(delegate)做任何您想做的事(在 SKScene .m 文件中):

[self.delegate showLeaderBoard];

关于ios - 从viewcontroller调用方法到类xcode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com