【发布时间】: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