【问题标题】:How to set iAd Delegate to new View Controller如何将 iAd 委托设置为新的视图控制器
【发布时间】:2015-10-03 16:10:46
【问题描述】:

我正在使用 Xcode 7 和 Swift 2 开发一个应用程序。我最近在我的代码中发现了一个错误。在调试器日志中(我认为这就是它的名称),它打印了这个:

[AppDeveloper] ADBannerView: Unhandled error (no delegate or delegate does not implement didFailToReceiveAdWithError:): Error Domain=ADErrorDomain Code=7 "Ad was unloaded from this banner" UserInfo={ADInternalErrorCode=7, NSLocalizedFailureReason=Ad was unloaded from this banner, ADInternalErrorDomain=ADErrorDomain}

我做了一些研究,发现我需要这个代码:

iAdBannerView.delegate = self

在我的viewDidLoad 方法中。我试过了,我不再收到错误。但是,我有两个视图控制器。两者都包含 iAd。在原始视图控制器 ViewController.swift 中,代码可以正常工作。在我后来添加的视图控制器 AboutViewContoller 中,我收到此错误:

Cannot assign a value of type 'AboutViewController' to a value of type 'ADBannerViewDelegate?"

有人可以告诉我我的代码中的错误吗?

【问题讨论】:

  • 你的AboutViewController是否采用ADBannerViewDelegate协议?
  • 好点。我不认为它确实适应了它。我应该如何检查/修复它?
  • 您必须将类的声明调整为 class AboutViewController: UIViewController, ADBannerViewDelegate
  • 如果您要在多个视图中显示ADBannerView,则应该使用共享横幅:Shared iAd Banner in Swift

标签: delegates swift2 iad viewcontroller xcode7


【解决方案1】:

之前,我有:

class AboutViewController: UIViewController {

我忘记了ADBannerViewDelegate。正确的代码是:

class AboutViewController: UIViewController, ADBannerViewDelegate {

感谢Charles A.Daniel Storm 的帮助!

【讨论】:

    猜你喜欢
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 2015-02-26
    相关资源
    最近更新 更多