Как вернуть экземпляр класса в Objective C? - PullRequest
1 голос
/ 08 июля 2011

Я пытаюсь вернуть экземпляр класса в функцию, но я не уверен, как это сделать.

У меня есть класс с именем GenerateMoves, и создан экземпляр этого класса:

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

Затем у меня есть другой класс, который должен использовать переменные, которые установлены в этом экземпляре класса ("move", сверху).

Итак, я создал функцию:

-(Class)returnClass {
return move;
}

А потом в другом классе:

GenerateMoves *move = [otherClass returnClass];

Однако выдается предупреждение о несовместимом типе указателя.

Как мне это сделать?

Спасибо за вашу помощь! : D

1 Ответ

8 голосов
/ 08 июля 2011

Вы хотите это:

-(GenerateMoves*)returnClass {
  return move;
}

Хотя я бы назвал это returnMove, а не returnClass

РЕДАКТИРОВАТЬ: чуть более подробно.

Хотя ваш способ написаниявсе совершенно верно Objective C, я думаю, что это легче понять, если вы напишите это так:

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

другими словами, вы создаете указатель на экземпляр GenerateMoves и присваиваете его переменной move,Затем естественно следует, что тип возвращаемого значения returnClass - это GenerateMoves * (опять же указатель на экземпляр GenerateMoves)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...