如何在Objective C中返回类的实例?

时间:2011-07-08 05:20:49

标签: objective-c class ios4

我正在尝试在函数中返回一个类的实例,但我不知道该怎么做。

我有一个名为GenerateMoves的类,并创建了该类的实例:

GenerateMoves *move = [[GenerateMoves alloc] init];

然后我有另一个类,它必须使用在该类实例中设置的变量(“move”,从上面开始)。

所以我创建了一个函数:

-(Class)returnClass {
return move;
}

然后在另一堂课:

GenerateMoves *move = [otherClass returnClass];

然而,它会抛出一个警告,说它是一个不兼容的指针类型。

我该怎么做?

感谢您的协助! :d

1 个答案:

答案 0 :(得分:8)

你想要这个:

-(GenerateMoves*)returnClass {
  return move;
}

虽然我称之为returnMove,而不是returnClass

编辑:更详细一点。

虽然你的写作方式是完全有效的Objective C,但我认为如果你这样写它会更容易理解:

GenerateMoves* move = [[GenerateMoves alloc] init];

换句话说,您正在创建一个指向GenerateMoves实例的指针并将其分配给变量move。然后它自然地返回returnClass的返回类型是GenerateMoves *(再次指向GenerateMoves实例的指针)