我正在阅读有关 ARC 的文档,遇到了一个让我感到困惑的部分。请任何人都可以帮助我。我有两个问题: 1.当没有变量指向它时,我知道 ARC 释放对象。现在假设我有一些方法说:(NSString *)returnString,其返回类型是 NSSTring;那么声明的变量会发生什么在方法returnString中?我知道接收变量会在它超出调用returnString的方法范围时被释放,但是returnString内部的变量会发生什么。
-(NSSTring *)returnString
{
NSString *str = //Some value;
return str;//What will happen to this.
}
和其他方法:
-(void)useString
{
NSString *str1 = [self returnString]; //It will get release when this method gets over.
}
2.如果returnString在一些第三方库中没有ARC编译会怎样?