NSObject: в куче или в стеке? - PullRequest
4 голосов
/ 24 июля 2011

Является ли объект Objective C, например, NSString, помещенным в стек или кучу?

Ответы [ 3 ]

7 голосов
/ 24 июля 2011

Pointee объекта Objective C хранится в куче.Но есть два исключения: константные строки, такие как @"foo" и блочные литералы , хранятся в сегменте __DATA (для глобальных переменных).

Обычно ни один из объектов ObjC не сохраняется в стеке.

4 голосов
/ 24 июля 2011

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

2 голосов
/ 24 июля 2011

Ммм, разве не все объекты-цели динамически размещаются в куче?

NSString имеет одно исключение из этого правила - объявляя их как @"This is a string", они не помещаются в кучу.

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