Когда и когда не следует использовать указатели в Objective-C - PullRequest
24 голосов
/ 22 февраля 2011

Я знаю, что есть много вопросов по указателям, особенно сейчас для Objective-C.Но я ищу ответы на более высоком уровне, чтобы помочь мне понять парадигмы в Objective-C.

Я слышал, как некоторые люди говорят, что использование указателей в Objective-C - это вопрос или опыт, то есть некоторые классытребуют, чтобы вы использовали указатели, а другие нет.Это правда?И является ли это степенью использования указателей в Objective-C.

В принципе, кроме случаев, когда вы хотите явно передать ссылочную переменную в методы, каковы правила для указателей в Objective-C?

1 Ответ

39 голосов
/ 22 февраля 2011

Вы используете указатель всегда при ссылке на что-то в куче и иногда, но обычно не при ссылке на что-то в стеке.

С Objective-Объекты C всегда размещаются в куче (за исключением блоков, но это ортогонально этому обсуждению), вы всегда используете указатели на объекты Objective-C.Оба типа id и Class действительно являются указателями.

Если вы не используете указатели, то это определенные примитивные типы и простые структуры .NSPoint, NSRange, int, NSUInteger и т. Д. - все обычно доступны через стек, а обычно вы не используете указатели.

Что касается Why the * in Objective-C?, вы можете найти этот интересующий вопрос .

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