2012-03-16 3 views
1

В моем AppController у меня есть вызов if(_adView). if(_adView) объявлен в MoPubManager.h. Итак, я добавил в #import "MoPubManager.h" в верхней части моего AppController. Но я получаю сообщение об ошибке if(_adView), в котором говорится: «Использование необъявленного идентификатора». Я, хотя импорт этого заголовка исправит это. Вероятно, это действительно новичок, я все еще очень новичок в Objective-C.Основная задача-C Импортная проблема

ответ

3

если _adView является собственностью "MoPubManager.h", то вы можете получить доступ к

_adView 

в любой другой контроллер, импортируя "MoPubManager.h" в этом контроллере и создать объект этого "MoPubManager.h"

как MoPubManager *obj = [MoPubManager alloc]init];

, то вы можете получить доступ к _adView с помощью obj._adview

Примечание: Вы можете установить _adView со свойствами nonatomic или assign .Если он установлен в assign собственности вы можете изменить значение _adView от любого другого контроллера

+0

Удивительно большое вам спасибо, что избавились от ошибок! Еще одна маленькая вещь, я называю '[self hideBanner: YES];', это тоже в MoPubManager, но это реальный метод (я думаю, что имя, к сожалению, действительно новое на этом), и у меня есть предупреждающее сообщение «-hidebanner not found». – John

+1

объявите метод «hidebanner» в MoPubManager.h. – Sree

+0

Похоже, у меня уже есть в MoPubManager.h он говорит '- (void) hideBanner: (BOOL) shouldDestroy;'. В очередной раз благодарим за помощь. – John

1

Ну, есть ли Accessor для _adView, как указано в moPubManager.h?

Я имею в виду, вы видите что-то вроде ...?

(в moPubManager.h)@property (assign) id adView;

Кроме того, всегда помните, что переменные "принадлежат к" классам. В вашем файле AppController нет такой C-подобной вещи, как «_AdView», просто потому, что вы импортировали ее заголовок. Что будет работать что-то вроде:

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; 

... 
+0

Я так думаю, его просто '@property (nonatomic, сохранить) MPAdView * adView;', следует ли добавить код в moPubManager.h? Благодарю. – John

+1

Есть ли экземпляр moPubManager в вашем классе AppController? Как 'moPubInstance * moPubManager'? Если это так, вы можете получить к нему доступ (из своего AppController) с помощью 'if ([moPubInstance adView]) {}' и т. Д. И т. Д., ... ;-) –

Смежные вопросы