好的,可以在任何论坛上发表第一篇文章,但是我会尽力描述我的问题。我是Xcode的初学者,所以我有点期待一个简单的解决方案,但是我似乎无法弄清楚这个解决方案。
在Xcode中,我试图创建一个Admob单例以在所有视图控制器中获取admob。 Admob将备份iAd,如果广告失败,它将显示。
我遵循了此指南:http://googleadsdeveloper.blogspot.dk/2012/04/creating-gadbannerview-singleton-in.html
我创建了GADMasterViewController .m和.h文件
GADMasterViewController.h看起来像这样
#import "GADBannerView.h"
@interface GADMasterViewController : UIViewController <GADBannerViewDelegate> {
GADBannerView *adbanner_;
BOOL isLoaded_;
id currentDelegate_;
}
@end
和GADMasterViewController.m文件看起来与指南中的文件完全一样,只不过我将#import“GADMasterViewController.h”放在顶部。
然后在我想放广告的viewController.m中放
- (void)bannerView:(GADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{
_UIiAd.hidden = YES;
shared = [GADMasterViewController singleton];
[shared resetAdview:self]
}
但是在viewController.m中,出现以下错误:
https://dl.dropboxusercontent.com/u/63928888/Sk%C3%A6rmbillede%202014-09-15%20kl.%2000.17.02.png
基本上,它无法识别从GADMasterViewController.m返回的“共享”错误单例(或任何“共享”)
我如何“获取”“共享”,以便我的viewController不会产生这些错误?
最佳答案
您正在使用shared
,但尚未将其定义为变量(本地或其他)。
所以,改变
shared = [GADMasterViewController singleton];
[shared resetAdview:self]
到
GADMasterViewController *shared = [GADMasterViewController singleton];
[shared resetAdview:self];
要么
[[GADMasterViewController singleton] resetAdview:self];
这样就可以定义变量,或者不需要变量。