0

ストーリーボードに iAd バナーがあり、アウトレットをクラスにドラッグしました。私は今、単純な実装をしようとしています (アニメーションなし) が、self.adBanner.isHidden を設定しようとすると、「プロパティへの割り当てに setter メソッド 'setIsHidden' がありません」というエラーがスローされる理由がわかりません。 ? iAd フレームワークを含めました。

#import "MyClass.h"
#import <iAd/iAd.h>

@interface MyClass () <ADBannerViewDelegate>
@property (weak, nonatomic) IBOutlet ADBannerView *adBanner;
@end

@implementation MyClass
@synthesize adBanner = _adBanner;

- (void)viewDidLoad {
  [super viewDidLoad];
  self.adBanner.delegate = self;
  self.adBanner.isHidden = YES;
}

- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
  self.adBanner.isHidden = NO;
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
  self.adBanner.isHidden = YES;
}

@end
4

2 に答える 2

4

そこにゲッターを「変更」(設定)しようとしています。self.adBanner.hidden = YES代わりに使用してください。

于 2012-11-20T07:21:56.927 に答える
1

ああ、ばかげた間違い。 isHidden読み取り専用プロパティです。そのプロパティを と間違えていましたhidden。参照用の最終的な作業コードは次のとおりです。

#import "MyClass.h"
#import <iAd/iAd.h>

@interface MyClass () <ADBannerViewDelegate>
@property (weak, nonatomic) IBOutlet ADBannerView *adBanner;
@end

@implementation MyClass
@synthesize adBanner = _adBanner;

- (void)viewDidLoad {
  [super viewDidLoad];
  self.adBanner.delegate = self;
  self.adBanner.hidden = YES;
}

- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
  self.adBanner.hidden = NO;
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
  self.adBanner.hidden = YES;
}

@end
于 2012-11-20T07:22:23.413 に答える