如何回拨我目前正在创建的对象?

时间:2013-09-01 07:51:23

标签: objective-c xcode

我正在做一个关于棋盘游戏的小程序。我无法想象如何使用'this'让方法知道我正在回调我正在使用的对象。

-(id)initWithName:(NSString *) name
{
    if (self = [super init])
    {
        name = _name;
    }
    return self;
}

-(void) move:(Dice *) die
{
    [die rollDice];
    [_isOn leave:&Player];
    [_isOn move:&Player using:die remainingSteps:die.totalValue];

}

你们可以看到,我要求_isOn执行“leave:(Player *)p”功能,其中p是创建的玩家对象。然而,该程序保持迅速错误说“预期表达”

1 个答案:

答案 0 :(得分:2)

我认为你在寻找的是:

[_isOn leave:self];

Player表示类本身,而leave方法需要指向类的实例的指针。在Objective-C中,self关键字(而不是'this')引用当前对象实例。