当前位置: 首页 > 面试题库 >

从另一个类迅速调用函数

姚煜
2023-03-14
问题内容

我无法从另一个类Menu.swift调用GameViewController.swift中的函数。我这样调用该函数:

class Menu: SKnode {

    func scoreAction(sender:UIButton!) { 
        self.buttonPlay.removeFromSuperview()
        self.buttonScore.removeFromSuperview()
         // CALLING FUNCTION
        GameViewController.showLeaderboard()    
     }
}

这是我要调用的函数:

class GameViewController: UIViewController,
 UITextFieldDelegate, GKGameCenterControllerDelegate  {

   func showLeaderboard()
    {
      var gcViewController: GKGameCenterViewController = GKGameCenterViewController()
      gcViewController.gameCenterDelegate = self

      gcViewController.viewState = GKGameCenterViewControllerState.Leaderboards
      gcViewController.leaderboardIdentifier = "yourleaderboardid"

      self.presentViewController(gcViewController, animated: true, completion: nil)
    }

}

我在菜单类内的GameViewController.showLeaderboard()行中出现编译器错误“调用中的参数#1缺少参数”,但我不理解编译器期望的参数类型,因为我不需要任何声明就声明了该函数参数。

谢谢


问题答案:

GameViewController您定义scoreActioninstance方法而不是class函数的scoreAction情况下,应通过使GameViewController

class Menu: SKnode {

    func scoreAction(sender:UIButton!) { 
        self.buttonPlay.removeFromSuperview()
        self.buttonScore.removeFromSuperview()
         // CALLING FUNCTION 
         //see () on GameViewController
        GameViewController().showLeaderboard()    
     }
}

我认为GameViewController如果您GameViewController在storyBoard中,则应该从storyBoard 加载



 类似资料:
  • 我正在尝试创建一个21点模拟器。在向玩家和庄家发牌之前,我需要洗牌。是一个无效函数,是类中的卡类型。职业存储从职业中发出的牌。在游戏开始时,我需要向玩家和庄家发两张牌。当我尝试在类访问 的成员函数时,我收到错误消息“调用不带对象参数的非静态成员函数”。调用成员函数的正确方法是什么?我真的对语法感到困惑。

  • 我想从class1调用class2,但是class2没有一个可以引用的主函数,比如

  • 问题内容: 在Python中,有没有一种方法可以从另一个类中调用一个类方法?我正在尝试在Python中旋转自己的MVC框架,但无法弄清楚如何从另一个类的一个类调用方法。 这是我想发生的事情: 我正在从PHP慢慢进入Python,因此我正在寻找与PHP等效的Python 。 问题答案: 更新:刚刚在您的帖子中看到了对它的引用。那不一样。用于获取函数对象,然后使用您的参数调用它 现在是一个实际的函数对

  • 我正在做一个新的项目,我试图建立一个货币系统,在那里我可以提取它,以转移到另一个变量(在另一个类)。我在解决这个问题上遇到了一些问题,我对如何编写代码感到非常失望。下面是我想链接的类(我想让“coinsamount”在我做/存款时进入类2“amount” 第2类:

  • 问题内容: 我正在制作一个具有几个用于输入数字等的UIButtons的计算器应用程序。我希望用户能够触摸一个按钮,如果这不是预期的按钮,则将手指移至另一个按钮并在内部进行触摸那个。用户用手指按下的按钮应更改背景颜色,以向用户指示正在发生的事情,就像苹果内置在计算器应用程序中的按钮一样。 我尝试通过使用内部/外部的触摸拖动以及按钮上的触摸拖动的输入/退出来做到这一点,但是它仅适用于触摸起源的按钮。意

  • 我正在创建一个应用程序,它有一个开始按钮(类StartButton),我希望该按钮调用另一个类(类NewRide)的方法,但是我如何从另一个文件调用void函数呢? 这是New Ride类,它具有我想在按下开始按钮时调用的空函数。