У меня есть следующий класс:
@interface Gamer {
...
}
+(id) CreatePlayer;
@end
@implementation Gamer
+(id) CreatePlayer
{
return [[[self alloc] init]autorelease];
}
@end
Мне нужно использовать Gamer в другом классе в качестве переменной экземпляра.
Например, как это:
@interface Layer{
Gamer * mCenterGamer;
}
@end
@implementation
-(void) init{
mCenterGamer = [Gamer CreatePlayer];
}
-(void) exampleFuncForUseGamer{
[mCenterGamer ...]// some methods of the Gamer class
}
@end
Это правильно? (Я думаю, что autorelease освободил mCenterGamer после выхода из функции init)