简体   繁体   English

Xcode Admob单例-“使用未声明的标识符“ shared””错误

[英]Xcode Admob singleton - “use of undeclared identifier ”shared“” error

Okay first post ever on any forum but i'll do my best to describe my problem. 好的,有史以来第一次在任何论坛上发表,但我会尽力描述我的问题。 I'm a beginner at Xcode so i'm sorta expecting an easy solution, but i just can't seem to figure this one out. 我是Xcode的初学者,所以我有点期待一个简单的解决方案,但是我似乎无法弄清楚这一点。

In Xcode i am trying to create an Admob singleton to get admob in all my view controllers. 在Xcode中,我试图创建一个Admob单例以在所有视图控制器中获取admob。 Admob will back up iAd, which will be showed should Ad fail. Admob将备份iAd,如果广告失败,它将显示。

I followed this guide: http://googleadsdeveloper.blogspot.dk/2012/04/creating-gadbannerview-singleton-in.html 我遵循了此指南: http : //googleadsdeveloper.blogspot.dk/2012/04/creating-gadbannerview-singleton-in.html

I created a GADMasterViewController .m and .h file 我创建了GADMasterViewController .m和.h文件

The GADMasterViewController.h looks like this GADMasterViewController.h看起来像这样

#import "GADBannerView.h"

@interface GADMasterViewController : UIViewController <GADBannerViewDelegate> {
    GADBannerView *adbanner_;
    BOOL isLoaded_;
    id currentDelegate_;
}



@end

and the GADMasterViewController.m file looks exactly as the one in the guide except i put #import "GADMasterViewController.h" at the top. 和GADMasterViewController.m文件看起来与指南中的文件完全一样,只不过我将#import“ GADMasterViewController.h”放在顶部。

Then in my viewController.m where i want the ad to show i put 然后在我要显示广告的viewController.m中放

- (void)bannerView:(GADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{
    _UIiAd.hidden = YES;

    shared = [GADMasterViewController singleton];
    [shared resetAdview:self]
}

However in viewController.mi get the following errors: https://dl.dropboxusercontent.com/u/63928888/Sk%C3%A6rmbillede%202014-09-15%20kl.%2000.17.02.png 但是在viewController.mi中出现以下错误: https ://dl.dropboxusercontent.com/u/63928888/Sk%C3%A6rmbillede%202014-09-15%20kl.%2000.17.02.png

Basically it doesn't recognize the returned "shared" err singleton (or whatever "shared" is) from GADMasterViewController.m 基本上,它无法识别从GADMasterViewController.m返回的“共享”错误单例(或任何“共享”)

How do i "get" "shared" so my viewController doesn't produce these errors? 我如何“获取”“共享”,以便我的viewController不会产生这些错误?

You are using shared , but you haven't defined it as a variable (local or otherwise). 您正在使用shared ,但是尚未将其定义为变量(本地或其他)。

So, change 所以,改变

shared = [GADMasterViewController singleton];
[shared resetAdview:self]

to either

GADMasterViewController  *shared = [GADMasterViewController singleton];
[shared resetAdview:self];

or 要么

[[GADMasterViewController singleton] resetAdview:self];

so that you are defining the variable, or so that you don't need a variable. 这样就可以定义变量,或者不需要变量。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM