2011-08-07 4 views
0

내 앱에서 Mobclix를 구현 중이며 안내에 따라 adview를 적절히 해제하고 dealloc하도록 알려줍니다.iPhone에서 모든보기에 광고를 자동으로 게재합니다.

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 
    [self.adView resumeAdAutoRefresh]; 
} 
     
    - (void)viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear:animated]; 
    [self.adView pauseAdAutoRefresh]; 
    } 
@implementation RootViewController 
- (void)viewDidUnload { 
[self.adView cancelAd]; 
self.adView.delegate = nil; 
self.adView = nil; 
} 
- (void)dealloc { 
[self.adView cancelAd]; 
self.adView.delegate = nil; 
self.adView = nil; 

    [super dealloc]; 
} 
@end 

내 질문은 내가보기 컨트롤러를 많이 가지고있다, 그래서 구현하기가 불편할 것이다 : 그것은 또한보기가 나타날 때, 당신은 refreshAds를 호출해야하고 사라질 때 새로 고침 광고를 일시 중지한다고 우리에게 알려줍니다 각보기에 이러한 것들. 어쨌든이 메소드를 한 곳에서 호출하여 모든 뷰에서 사용할 수 있습니까?

답변

1

하위 클래스는 UIViewController이며 모든 viewController에서 상속받습니다.

그래서 기본적으로 당신은

#import <Foundation/Foundation.h? 

@interface AdsViewController: UIViewController { 
} 

@property (nonatomic, retain) <#AdsViewType#> *adsView; 

@end 

모양을 AdsViewController.h 느릅 나무를 가질 수와 AdsViewController.m 거의이 후이

#import "AdsViewController.h" 

@implementation AdsViewController 

@synthesize adsView = _adsView; 

- (id)init { 
    self = [super init]; 
    if (self) { 
     _adsView = [[<#AdsViewType#> alloc] init]; 
     _adsView.delegate = self; 
    } 
    return self; 
} 

- (void)viewDidUnload { 
    [self.adView cancelAd]; 
    self.adView = nil; 

    [super viewDidUnload]; 
} 

- (void)dealloc { 
    [self.adView cancelAd]; 
    self.adsView = nil; 

    [super dealloc]; 
} 

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 
    [self.adView resumeAdAutoRefresh]; 
} 
 
- (void)viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear:animated]; 
    [self.adView pauseAdAutoRefresh]; 
} 

@end 

같은 모양이 대신 하위 클래스의 모든 viewController의를해야합니다 UIViewController입니다. 희망이 도움이됩니다.

관련 문제