【发布时间】:2012-05-18 17:21:39
【问题描述】:
在旧术语中,它是关于将自动释放的属性分配给保留属性。如果这样做会发生什么,如下所示。
@property(strong, nonatomic) NSString *new;
...
NSString *old = [NSString stringWithFormat:@"%@ %@"), @"hello", @"world"];
new = old;
【问题讨论】:
-
然后该实例被保留一次,期间。顺便说一句,在您的示例中,
old仍然是一个强实例,默认情况下,对象实例是强实例。 -
好的。有弱对象的例子吗?
-
要使指针变弱,您必须明确声明它。 NSStrings 默认是自动释放的,所以这不是弱指针的实例。如果您确实创建了一个弱指针,它将不会保留它所指向的任何内容。如果只有一个其他指针指向它并被释放,则该对象将被释放,弱指针将悬空。
标签: objective-c retain autorelease