iOSアプリ開発 Missing context for method declaration と Missing @end

| コメント(0) | トラックバック(0)

----

XCode 4.2 から XCode 4.4.1 にアップデートしたらビルドでエラーが出るようになった。

"Missing context for method declaration" というエラーが出る。
読んで字のごとくヘッダでメソッドを宣言していないのかと思い、ヘッダを見てみるも、ちゃんと宣言が書かれている。

もうひとつ別のヘッダで "Missing @end" というエラーが出ている。
ヘッダを見てみると単純に
@interface SomeClass : NSObject {
    BOOL isFinished ;
}
- (void)someMethod ;
@end

のような記述で @end もちゃんと書いてある。

悩んだ結果原因は、とあるソースの @implementation 中に #import 文を入れていることでした。

以下のような感じ

@implementation aaa
  :
  :
#import "bbb.h" // <- このヘッダで Missing @end エラーが出る
  :
+ (void)something // <- このメソッドが Missing context for method declaration エラーとなる
{
}
@end

ということで対策は、#import "bbb.h" を@implementation の外(上)に出すようにしました。



 

トラックバック(0)

トラックバックURL: http://onno.jp/mt/cgi-bin/mt-tb.cgi/178

コメントする

このブログ記事について

このページは、管理者が2012年8月12日 06:29に書いたブログ記事です。

ひとつ前のブログ記事は「ステレオのwavファイルをモノラル再生したらフィルターがかかったような音になる」です。

次のブログ記事は「iOS In-App Purchase サンドボックスでSSLエラー」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 5.13-ja