Подтвердить что ты не робот

Когда и когда не использовать указатели в Objective-C

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

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

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

4b9b3361

Ответ 1

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

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

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

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