【发布时间】:2015-07-24 06:04:09
【问题描述】:
由于引用计数变为0会导致对象被释放。 我很好奇一个弱对象什么时候释放,因为计数总是0,当我声明一个弱对象时,我需要担心它会中途释放吗?
例如
NSObject ClassA
@property (weak) NSString stringA;
- init() {
...
stringA = @"this is a weak string";
...
}
- doSomething() {
// When I call this function later,
// is there any chance at this point stringA has been released?
NSLog(stringA);
}
【问题讨论】:
-
大概其他的东西仍然有很强的参考价值,不是吗?
-
比如我有一个班级,有一个成员:
@property (weak) NSObject object;什么时候发布? -
你是如何分配的?物体从哪里来?如果在任何地方都没有强烈的引用,我会担心......
-
字符串是一个不好的例子。他们是“特别的”。但是是的,如果您以一种方法分配给您的弱属性,并且没有其他人对它有另一个引用,那么它可以在
doSomething之前发布。这就是弱引用的意义所在,不是吗?
标签: objective-c automatic-ref-counting weak-references