このnodeメソッドは、initメソッド実行の際、初期化・autoreleaseされたオブジェクトを返してくれる便利なメソッドですが、独自に作成したinitメソッドではそれを行ってくれません。
独自に作成したinitメソッドで初期化、autoreleaseされたオブジェクトを返させたい場合
自身を初期化、autoreleaseするようにメソッドで定義してあげる必要があります。以下例です。
例
layerWithNumberId:(NSInteger)numberIdという初期化メソッドの場合です。//.h
+(id)layerWithNumberId:(NSInteger)numberId;
//.m
+(id)layerWithNumberId:(NSInteger)numberId
{
return [[[self alloc]initWithSceneId:numberId]autorelease];
}
-(id)initWithSceneId:(NSInteger)numberId
{
//色々やる
return self;
}
自身を初期化し、autoreleaseさせて返しています。
0 件のコメント:
コメントを投稿