Objective c NSObject:在堆上还是堆栈上?

Objective c NSObject:在堆上还是堆栈上?,objective-c,cocoa-touch,memory-management,Objective C,Cocoa Touch,Memory Management,Objective-C对象(例如,NSString)是否放置在堆栈或堆上?它们是在堆上分配的。这基本上适用于所有Objective-C对象,块是目前我能想到的唯一例外 Objective-C对象的指针对象存储在堆上。但是有两个例外:像@“foo”这样的常量字符串存储在\u数据段中(对于全局变量) 通常情况下,没有一个ObjC对象存储在堆栈上。Mmm,不是所有objective-c对象都在堆上动态分配吗 NSString对此规则有一个例外-将它们声明为@“thisastring”,它们不会放在堆上

Objective-C对象(例如,
NSString
)是否放置在堆栈或堆上?

它们是在堆上分配的。这基本上适用于所有Objective-C对象,块是目前我能想到的唯一例外

Objective-C对象的指针对象存储在堆上。但是有两个例外:像
@“foo”
这样的常量字符串存储在
\u数据段中(对于全局变量)


通常情况下,没有一个ObjC对象存储在堆栈上。

Mmm,不是所有objective-c对象都在堆上动态分配吗

NSString
对此规则有一个例外-将它们声明为
@“thisastring”
,它们不会放在堆上