Objective c 警告:当前存在10多个ADBannerView或ADInterstitialView实例

Objective c 警告:当前存在10多个ADBannerView或ADInterstitialView实例,objective-c,ios8.1,adbannerview,Objective C,Ios8.1,Adbannerview,我有一个带有2个视图控制器的iPad应用程序;第一个用于UI,第二个用于显示UIWebView帮助的视图。当我在视图控制器之间来回10次时,我正好在第10次返回到第一个VC时收到上面标题中的消息 这是我在VC#1中的代码: 我知道为什么,只是不知道如何修复它。有人能帮我一下吗?您在viewdide中创建了一个ADBannerView的实例,并将其分配给adView您似乎没有做任何事情,更相关的是,不要在视图中丢弃它,它将消失,因此每次您弹出到此视图控制器时,前一个实例都会消失当您在视图中循环时,

我有一个带有2个视图控制器的iPad应用程序;第一个用于UI,第二个用于显示UIWebView帮助的视图。当我在视图控制器之间来回10次时,我正好在第10次返回到第一个VC时收到上面标题中的消息

这是我在VC#1中的代码:


我知道为什么,只是不知道如何修复它。有人能帮我一下吗?

您在
viewdide
中创建了一个
ADBannerView
的实例,并将其分配给
adView
您似乎没有做任何事情,更相关的是,不要在
视图中丢弃它,它将消失
,因此每次您弹出到此视图控制器时,前一个实例都会消失当您在
视图中循环时,会出现孤立视图


另一个可能的问题是,您没有在
视图中调用
[超级视图将消失:

什么是
adView
,为什么要创建它,然后似乎再也不使用它了。另外,您应该调用
[超级视图将消失:
请重新编写您的评论作为回答--我删除了adView并在子视图中添加了_adBanner。。。现在真是魅力四射!谢谢你抽出时间,我很感激!SD
- (void)viewDidAppear:(BOOL)animated  {

[super viewDidAppear:animated];

adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height - 50, 320, 50)];

_adBanner = [[ADBannerView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height, 320, 50)];
_adBanner.delegate = self;

[self.view addSubview:adView];
}


- (void) viewWillDisappear:(BOOL)animated  {

[_adBanner removeFromSuperview];
_adBanner.delegate = nil;
_adBanner = nil;

}


- (void)bannerViewDidLoadAd:(ADBannerView *)banner  {

if (!_bannerIsVisible)  {

    // If banner isn't part of view hierarchy, add it
    if (_adBanner.superview == nil)
        [self.view addSubview:_adBanner];
    //        }

    [UIView beginAnimations:@"animateAdBannerOn" context:NULL];

    // Assumes the banner view is just off the bottom of the screen.
    banner.frame = CGRectOffset(banner.frame, 0, -banner.frame.size.height);

    [UIView commitAnimations];

    _bannerIsVisible = YES;
    }
}


- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error  {

NSLog(@"Failed to retrieve ad");

if (_bannerIsVisible)  {

    [UIView beginAnimations:@"animateAdBannerOff" context:NULL];

    // Assumes the banner view is placed at the bottom of the screen.
    banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height);

    [UIView commitAnimations];

    _bannerIsVisible = NO;
    }
}