Swift ADBannerView问题

Swift ADBannerView问题,swift,adbannerview,Swift,Adbannerview,我在所有viewcontroller页面上都有此代码,可以跨多个页面控制我的AdBanner。它在我的应用程序的上一个版本上正常工作,但由于某些原因,在我正在进行的更新中,我认为我的应用程序没有调用bannerviewdidloadd或didFailToReceiveAdWithError函数。当我经常更改页面时,我也会遇到这个错误` 警告:ADBannerView或ADInterstitialView的实例超过10个 目前存在。这是对iAd API和广告性能的滥用 将因此受到影响。此消息仅打印

我在所有
viewcontroller
页面上都有此代码,可以跨多个页面控制我的
AdBanner
。它在我的应用程序的上一个版本上正常工作,但由于某些原因,在我正在进行的更新中,我认为我的应用程序没有调用
bannerviewdidloadd
didFailToReceiveAdWithError
函数。当我经常更改页面时,我也会遇到这个错误`

警告:ADBannerView或ADInterstitialView的实例超过10个 目前存在。这是对iAd API和广告性能的滥用 将因此受到影响。此消息仅打印一次。“

`我有什么遗漏吗?谢谢

// Ad controller

var UIiAd: ADBannerView = ADBannerView()
var screenHeight = UIScreen.mainScreen().bounds.height
var adBannerHeight: CGFloat = 50
@IBOutlet var constOne: NSLayoutConstraint!

func appdelegate() -> AppDelegate {
    return UIApplication.sharedApplication().delegate as! AppDelegate
}

override func viewWillDisappear(animated: Bool) {
    UIiAd.delegate = nil
    UIiAd.removeFromSuperview()
}

func bannerViewDidLoadAd(banner: ADBannerView!) {
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(1)
    UIiAd.alpha = 1
    adBannerHeight = 50
    UIView.commitAnimations()
    constOne.constant = 58
    print("ad loaded")
}

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(1)
    UIiAd.alpha = 0
    adBannerHeight = 0
    UIView.commitAnimations()
    constOne.constant = 8
    print("error")
}

override func viewWillAppear(animated: Bool) {
    UIiAd.delegate = self
    UIiAd = self.appdelegate().UIiAd
    UIiAd.frame = CGRectMake(0, screenHeight - adBannerHeight , 0, 0)
    self.view.addSubview(UIiAd)

}

// End of Ad Controller

尝试更改此代码:

override func viewWillDisappear(animated: Bool) {
    UIiAd.delegate = nil
    UIiAd.removeFromSuperview()
}
致:


我刚收到这个消息。Nil不能分配给'ADBannerView'@ElectricTiger类型,请尝试删除UIiAd=Nil。很遗憾,没有区别。如果我告诉你我在AppDelegate.swift中也有这个代码,会有帮助吗?var UIiAd:ADBannerView=ADBannerView(),所以我觉得我已经解决了这个问题,但我有我的疑问。我用一行代码“self.candisplaybanerads=true”替换了所有代码,这似乎是解决方案,但我不知道它的反应如何。在模拟器中很难判断是否每个页面都加载了新的广告,或者这是一个共享的iAd横幅。谁能启发我?
override func viewWillDisappear(animated: Bool) {
     UIiAd.removeFromSuperview()
     UIiAd.delegate = nil
}