2012-03-16 9 views
0

以下のコードで3つの警告が表示されます。警告は、次のとおりです。特定のコンパイラの警告の解釈

1:「インスタンスメソッドが見つからない '-alloc':
2 "レシーバータイプ 'のconst charが*' 'ID' またはインタフェースポインタ、 'ID' にキャスト考慮していません" ( 'ID' への戻り値の型のデフォルト)」
3: "インスタンスメソッド '-hideBanner:':

- (void)applicationWillEnterForeground:(UIApplication *)application 
{ 

    MoPubManager *obj = [["MoPubManager.h" alloc] init]; 

    if(obj.adView) { 
     [self hideBanner:YES]; 
    } 
    [obj.adView refreshAd]; 

} 
"( 'ID' への戻り値の型のデフォルトを)ここで


が私のコードされていません

これらはどういう意味ですか?

答えて

2

クラスの代わりにcstringを渡しています。これを試してみてください:

MoPubManager *obj = [[MoPubManager alloc] init]; 
+0

ありがとうございました。ただし、「インスタンスメソッド」の-hideBanner: 'が見つかりません(戻り値のタイプはデフォルトで' id ')」はまだ存在します。 '[self hideBanner:YES]; – John

+1

これはhideBannerを実装していないことを意味します。 BOOL)メソッド(または、ヘッダファイルの宣言なしで、呼び出しを行った後にメソッドの宣言がある) – Alladinian

+0

すばらしい感謝。メソッドが見つかったヘッダーファイルをインポートしましたが、他に何かすべきことはありますか? – John

1

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

"MoPubManager.h"を試しヘッダファイルではなく、クラス名

1
MoPubManager *obj = [["MoPubManager.h" alloc] init]; 

は、きっとあなたが意味する:

MoPubManager *obj = [[MoPubManager alloc] init]; 
2

"MoPubManager.h"が名前であります彼のaderファイルであり、それが表すクラスではありません。おそらく[[MoPubManager alloc] init]を使用します。

+1

'MoPubManager.h'はヘッダファイルの名前、' MoPubManager.a'は名前ライブラリファイルの –

+1

ありがとうございました。 – jonmorgan

+0

@jonmorganありがとう、それはそれを修正!しかし、警告「インスタンスメソッド '-hideBanner:'が見つかりません(戻り値のタイプはデフォルトで 'id'になります)」はまだ存在し、 '[self hideBanner:YES]; – John

関連する問題