我们是否总是必须分配一个带有保留属性的@属性?
Do we always have to allocate a @property with the retain attribute?
我了解到,如果 @property
具有属性 retain
,则应始终在 dealloc
方法中释放它。但是如果程序从不为 属性 分配内存,这意味着我们释放了一个未分配的对象,对吧?这是否意味着 属性 必须 在 init
方法中分配?
But if the program never allocates memory for the property this means we release an unallocated object, right?
错了。如果您在 dealloc
中说 [self->myVar release]
,则 myVar
已被赋值或尚未赋值:
如果有,现在发布,就是你想要的
如果没有,那就是 nil
,什么也没有发生,也没有造成任何伤害,因为发给 nil
的消息没有任何作用。
我了解到,如果 @property
具有属性 retain
,则应始终在 dealloc
方法中释放它。但是如果程序从不为 属性 分配内存,这意味着我们释放了一个未分配的对象,对吧?这是否意味着 属性 必须 在 init
方法中分配?
But if the program never allocates memory for the property this means we release an unallocated object, right?
错了。如果您在 dealloc
中说 [self->myVar release]
,则 myVar
已被赋值或尚未赋值:
如果有,现在发布,就是你想要的
如果没有,那就是
nil
,什么也没有发生,也没有造成任何伤害,因为发给nil
的消息没有任何作用。