0

このコードはリークしています:

   self.adView = ADBannerView* tempAddBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];
self.adView.frame = CGRectOffset(adView.frame, 0, 416);
self.adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifier320x50];
self.adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
[self.view addSubview:adView];
self.adView.delegate = self;
self.bannerIsVisible = NO;

明らかに、adView がリリースされないためです。リリースするのに最適な場所はどこですか?

それを修正しようとするとクラッシュします:

  ADBannerView* tempAddBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];
    tempAddBannerView.frame = CGRectOffset(adView.frame, 0, 416);
    tempAddBannerView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifier320x50];
    tempAddBannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;


self.adView = tempAddBannerView;
[tempAddBannerView release];
[self.view addSubview:adView];
self.adView.delegate = self;
self.bannerIsVisible = NO;
4

1 に答える 1

1

コード[self.view addSubview:adView];は を保持するので、その行のUIViewに安全に解放する必要があります。

于 2012-04-26T01:01:16.030 に答える