Я добавляю iAds в свое приложение, и оно дает сбой, потому что делегат AdBannerView вызывается после выпуска представления.Я слежу за примерами кода в документации Apple, а также за примерами кода, которые я нашел на форумах Apple Dev, но я что-то упускаю, потому что происходит сбой.
Я создаю AdBannerView в viewDidLoad представления, который я хочу отобразить в ...
self.bannerIsVisible = NO;
self.adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 0, 1024, 66)];
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierLandscape];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
adView.delegate = self;
[self.view addSubview:adView];
Я переношу его на фронт в viewDidAppear ...
[self.view bringSubviewToFront:[self adView]];
adView.frame = CGRectMake(0.0, 0.0, adView.frame.size.width, adView.frame.size.height);
Я устанавливаю значение nil в viewDidUnload ...
[[self adView] setDelegate:nil];
[self setAdView:nil];
и освобождаю его в dealloc ...
[adView release];
Тем не менее, время от времениприложение вылетает с этой ошибкой ...
-[MyViewController bannerView:didFailToReceiveAdWithError:]: message sent to deallocated instance 0xf61d820
Чего мне не хватает?
Большое спасибо за вашу мудрость!