私の AppController にif( _adView )
電話があります。if( _adView )
MoPubManager.h で宣言されています。そこで、#import "MoPubManager.h"
AppController の一番上に追加しました。しかし、if( _adView )
呼び出しを強調するエラーが表示され、「宣言されていない識別子の使用」と表示されます。ヘッダーをインポートするとこれが修正されると思います。これはおそらく本当に初心者の質問です。私はまだObjective-Cに非常に慣れていません。
2 に答える
_adView
が のプロパティである場合"MoPubManager.h"
、にアクセスできます
_adView
そのコントローラーにインポート"MoPubManager.h"
して、そのコントローラーのオブジェクトを作成することにより、他のコントローラーで"MoPubManager.h"
お気に入りMoPubManager *obj = [MoPubManager alloc]init];
_adView
次に、を使用してアクセスできますobj._adview
注:_adView
プロパティnonatomic
またはで設定できます。プロパティassign
に設定されている場合は、他のコントローラーからassign
の値を変更できます_adView
さて、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;
...