2012-03-19 10 views
0

このエラーは何を意味しますか?以下は私のコードです。しかし、私はあなたが@interface前または@end後のいずれかに置き、具体的ならば、あなたは@interface ... @endブロックの外側でプロパティやメソッドの宣言を記述する場合は、このエラーを取得する致命的なエラー:@interfaceコンテキストにメソッド宣言がありません

-(id) init 
{ 
    if((self=[super init])) { 
     CGSize winSize = [[CCDirector sharedDirector] winSize]; 
     CCSprite *player = [CCSprite spriteWithFile:@"Player.png" 
               rect:CGRectMake(0, 0, 27, 40)]; 
     player.position = ccp(player.contentSize.width/2, winSize.height/2); 
     [self addChild:player];  
    } 

    if((self=[super initWithColor:ccc4(255,255,255,255)])) 
    { 
    } 
    return self; 
} 
+5

あなたが二回おろか 'self'を設定すべきではありません(http://stackoverflow.com/a/1989562/418715)[' init'二回呼び出します]。コード内のどこにいてもこれを行っていれば、元に戻してロジックを再考する必要があります。 – Joe

+0

私は上記のJoeに同意します。また、どのラインでエラーが出るのですか? – user1118321

+0

コードを適切に書式設定することを学ぶことは、大いに役立ちます。 – Almo

答えて

1

間違って何も表示されません。 。ここでは、このエラーの原因となる例を示します

@interface MyClass : NSObject 
{ 
    // instance vars here 
} 

// properties and method declarations here 

@end 

// ERROR: method declared outside @interface (after @end) 
-(void) someMethodWithObject:(id)obj; 
関連する問題