1

在我的 AppController 中,我有一个if( _adView )电话。if( _adView )在 MoPubManager.h 中声明。所以,我#import "MoPubManager.h"在我的 AppController 的顶部添加了。但是,我收到一个突出显示if( _adView )调用的错误,它指出“使用未声明的标识符”。我虽然导入标题会解决这个问题。这可能是一个非常新手的问题,我对 Objective-C 还是很陌生。

4

2 回答 2

3

如果_adView是 的一个属性"MoPubManager.h",那么您可以访问

_adView

通过在该控制器中导入"MoPubManager.h"并创建该控制器的对象,在任何其他控制器中"MoPubManager.h"

MoPubManager *obj = [MoPubManager alloc]init];

然后您可以_adView使用obj._adview

注意:您可以设置_adViewwith 属性nonatomicassign。如果设置为属性,您可以从任何其他控制器assign更改值_adView

于 2012-03-16T05:20:42.953 回答
1

那么,在 moPubManager.h 中声明的 _adView 是否有访问器?

我的意思是你看到类似...?

(在 moPubManager.h 中) @property (assign) id adView;

另外,永远记住变量“属于”类。AppController 文件中没有像“_adView”这样的类似 C 的东西,仅仅是因为您导入了它的标题。什么会起作用:

if ([moPub adView]) {...在你的 AppController

前提是:

  • 你的 AppController 已经定义了一个 moPubManager 实例 ( moPubManager* moPub)
  • adView 有它的访问器:

在 moPubManager.h 中:

@interface moPubManager : NSObject
{
id _adView;
...
}

@property (assign) id _adView;

在 moPubManager.m 中:

@implementation moPubManager

@synthesize adView=_adView;

...
于 2012-03-16T05:14:56.820 回答