0

在objective-c中,使用ARC,BOOL(或int)属性何时被删除?例如,假设我有

@property (nonatomic) BOOL happy;  //Suppose this is a property of class Face

在这种情况下,happy 属性何时被删除?我问这个是因为没有诸如strongor之类的说明符weak。事实上,Xcode 甚至不允许你将这个属性声明为strongor weak?

我的猜测是它与存储在堆栈中的 BOOL 和存储在堆中的常规对象属性有关,但这只是一个猜测。

谢谢

4

2 回答 2

3

如果它BOOL是你的类的一部分,当类被自动释放池释放时它会被删除。否则,当变量超出范围时,堆栈上的任何原语都会消失。没有必要对原始类型进行内存管理,除非您明确拥有指向它们的指针。

于 2012-06-06T20:04:13.353 回答
0

BOOL 属性永远不会被删除,Primitives 类型的属性不能被保留或释放 Primitives 是 int、bool、float、double 等。

于 2012-06-06T20:01:45.270 回答