2012-01-26 23 views
0

Player.hというクラスを作成しました。コンストラクタメソッドが正しく呼び出されない

-(Player*) construct 
{ 
    health = 100; 
    width = 50; 
    height = 50; 
    return self; 
} 

そして、それは私が私のgetWidth方法や他のゲッター呼び出すと0 など、すべてのリターンは、これは作るための正しい方法であることを確認し-(Player*) construct;

として私のヘッダファイルにある:コンストラクタは、このようなありますコンストラクタ?私はより良いOOPのプラクティスを取り入れようとしています。これはObj-Cで初めてのことです。私は実際にオブジェクトを使用しています。

+1

objective-cにはイニシャライザがあります。 http://stackoverflow.com/questions/2928404/constructor-in-objective-c –

+1

あなたのメソッドは 'getWidth'ではなく' width'と呼ばれるべきです。 'get'はCocoaの非常に特別な役割のために予約された接頭辞です。一般的なゲッターはそうではありません。 – bbum

答えて

1

:あなたはこのようなオブジェクトを作成すると思います。あなたのクラスのinitメソッドを上書きするだけです。すでに正しいスケルトンがあります。 self = [[super alloc] init]行は削除しないでください。

1

オブジェクトを構築したい場合は、初期化する必要があります。メソッド-constructを呼び出すことができますが、伝統的に-initまたは-initWith<Blah>と呼ばれています。ここで、<Blah>は長方形などの有用な情報です。あなたがあなたのケース[[Player alloc] init]には、のalloc/initの呼び出しを介してObjective-Cでオブジェクトを作成し、通常

Player* newPlayer = [[Player alloc] init]; 
関連する問題