0

私の最初のObjective-cgoであるiPhoneCoco2dゲームのいくつかのdiffクラスで問題を特定しました。私のセッターは機能していないようです!NULL(Stringedの場合)に設定した後にアクセスプロパティを試行した場合、または致命的な不正アクセス例外が発生した場合は、何か間違ったことをしている必要があります。コードは次のとおりです。

@interface Character : CCNode 
    {
        CCSprite* sprite;
        int width;
        int height;
    }
    @property (retain) CCSprite* sprite;
    @property int width;
    @property int height;
@end

および実装:

@implementation Character

@synthesize sprite;
@synthesize width;
@synthesize height;

-(id) init
{
    if((self=[super init])) {
        [self setSprite :[CCSprite spriteWithFile:@"character.png"]];
        [self setWidth:28];
        [self setHeight:28];
        NSLog(@"About to try get height...");
        NSLog([self height]); //bad access exception
    }
}
4

1 に答える 1

4

これはフォーマットが不十分なログステートメントです

NSLog(@"Height :%d", [self height]);

NSLog印刷する文字列を探します。オブジェクトに変更できないintを指定しました。

于 2012-06-14T08:23:11.783 に答える