没有正确调用构造方法

时间:2012-01-26 18:21:54

标签: objective-c oop object constructor

我创建了一个名为Player.h的类。构造函数是这样的:

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

它在我的头文件中为-(Player*) construct;

要验证我调用getWidth方法和其他getter,并返回0 这是构建构造函数的正确方法吗?我正在尝试整合更好的OOP实践,这是第一次在Obj-C我真的在使用对象

2 个答案:

答案 0 :(得分:1)

如果您希望构造对象,则需要在初始化时进行分配。虽然您可以调用方法-construct,但传统上称为-init-initWith<Blah>,其中<Blah>是一些信息,如矩形或其他有用的值。你要创建一个像这样的对象:

Player* newPlayer = [[Player alloc] init];

答案 1 :(得分:1)

通常,在您的情况[[Player alloc] init]中,通过调用alloc / init在Objective-C中创建对象。只需覆盖您班级中的init方法 - 它已经拥有正确的骨架。请勿删除self = [[super alloc] init]行。