![](/img/trans.png)
[英]what are the differences between __strong and strong, __weak and weak?
[英]Is this strong or weak?
假设这种情况:
__weak UIImage *image = [self calculateImage];
// a few lines later...
image = [self calculateImageUsingAnotherProcess];
假设calculateImage
和calculateImageUsingAnotherProcess
返回强引用。
好的,在第一种情况下image
weak
但是第二种情况又如何呢? image
保持weak
吗?
第二个也将保持弱势。 声明后不能更改。
从这种意义上讲,您不能返回强有力的参考。 引用所在的容器决定了它是强还是弱。 如果您声明了一个weak
容器,那么您分配给它的任何引用都将被弱保存。
按照惯例,除了自动释放池之外, calculateImageUsingAnotherProcess
返回的内容将不归所有人所有。
因此,尽管是正确的,但并不仅仅是引用“在声明后不能更改”的强度,而是因为没有机制允许您尝试这样做,因此,您的代码也没有这样的尝试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.