Swift:无法将类型 'GameScene' 的值转换为预期的参数类型 'UIViewController!'

标签 swift admob interstitial

当用户丢失时,我试图在我的应用程序中加载 admob 插页式广告,但我不能,因为我使用的是 spritekit (swift),这是我的代码:

 self.interstitial.presentFromRootViewController(interstitial)

这是我的错误:

cannot convert value of type 'GameScene' to expected argument type 'UIViewController!'

希望你们中有人能给出答案!谢谢

最佳答案

您正在尝试从自身呈现插页式

您应该从当前可见的 ViewController 中呈现它:

self.interstitial.presentFromRootViewController(self)

(假设 self 是一个 View Controller )。

更新:

如果您关注 Google tutorial 仔细,你就会明白我在说什么:

func gameOver() {
  if self.interstitial.isReady {
    self.interstitial.presentFromRootViewController(self)
  }
  // Rest of game over logic goes here.
}

关于Swift:无法将类型 'GameScene' 的值转换为预期的参数类型 'UIViewController!',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34692755/

相关文章:

ios - 了解 UIViewController 转换的值(value)

ios - UIPickerView 选择将 nil 值发送到新的 ViewController

ios - UNNotification 的重复间隔

android InterstitialAd 不显示

android - 有没有关于如何为android实现全屏广告的例子?

ios - admob interstitial presentFromRootViewController 不显示广告

ios - Swift 2.0 LocationManager 为零

javascript - Ionic 2 视频广告插件

java - Android:同时使用 adjustPan 和 adjustResize 不起作用,但我需要两者

ios- 您的应用程序是否包含、显示或访问第三方内容? admob