iAdを処理する再利用可能なクラスを作成しようとしています。
私の.h file
中で私は次のことをします:
#import <iAd/iAd.h>
@protocol AdHelperDelegate;
@interface AdHelper:NSObject<ADBannerViewDelegate>
@property (strong) id<AdHelperDelegate> delegate;
@property (nonatomic, strong) ADBannerView *iAdBannerView;
...
@end
@protocol AdHelperDelegate;
@end
次に.m file
、iAdバナーを実装します。
-(void)showBanner
{
self.iAdBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];
self.iAdBannerView.frame = CGRectOffset(self.iAdBannerView.frame, 0, 361);
self.iAdBannerView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
self.iAdBannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
self.iAdBannerView.delegate = self;
[self.delegate.view addSubview:self.iAdBannerView];
}
もちろんデリゲートメソッドも実装しています-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
AdHelper
私は自分のプロジェクトで次のようなものでを呼び出すことをUIViewController
計画しています:
AdHelper *ah = [[AdHelper alloc] init];
ah.delegate = self;
[ah showBanner];
問題は、コンパイラが次Property 'view' not found on object of type 'id<AdHelperDelegate>'
のように言っていることです。デリゲートのビューにアクセスする方法はありますか?