我正在尝试在函数中返回一个类的实例,但我不知道该怎么做。
我有一个名为GenerateMoves的类,并创建了该类的实例:
GenerateMoves *move = [[GenerateMoves alloc] init];
然后我有另一个类,它必须使用在该类实例中设置的变量(“move”,从上面开始)。
所以我创建了一个函数:
-(Class)returnClass {
return move;
}
然后在另一堂课:
GenerateMoves *move = [otherClass returnClass];
然而,它会抛出一个警告,说它是一个不兼容的指针类型。
我该怎么做?
感谢您的协助! :d
答案 0 :(得分:8)
你想要这个:
-(GenerateMoves*)returnClass {
return move;
}
虽然我称之为returnMove,而不是returnClass
编辑:更详细一点。
虽然你的写作方式是完全有效的Objective C,但我认为如果你这样写它会更容易理解:
GenerateMoves* move = [[GenerateMoves alloc] init];
换句话说,您正在创建一个指向GenerateMoves实例的指针并将其分配给变量move。然后它自然地返回returnClass的返回类型是GenerateMoves *(再次指向GenerateMoves实例的指针)