我正在做一个关于棋盘游戏的小程序。我无法想象如何使用'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是创建的玩家对象。然而,该程序保持迅速错误说“预期表达”
答案 0 :(得分:2)
我认为你在寻找的是:
[_isOn leave:self];
Player
表示类本身,而leave
方法需要指向类的实例的指针。在Objective-C中,self
关键字(而不是'this')引用当前对象实例。