我正在閱讀有關ARC的文檔,並遇到了一個困惑我的部分。請任何人都可以幫助我。 我有兩個問題: 1.I知道ARC發佈對象時沒有變量指向it.Now假設我有一些方法,說:(* NSString的)returnString,其返回類型爲NSString的,所以會發生什麼變量,在方法returnString中聲明嗎?我知道當接收變量超出了調用returnString的方法範圍時,它會得到釋放,但是returnString中的變量會發生什麼。使用ARC時如何釋放內存?
-(NSSTring *)returnString
{
NSString *str = //Some value;
return str;//What will happen to this.
}
和 其他方法:如果returnString是在未與ARC整理了一些第三方庫
-(void)useString
{
NSString *str1 = [self returnString]; //It will get release when this method gets over.
}
2.什麼會發生?
感謝您的答覆。我得到了第一個答案。但對於第二個問題,你的意思是說,我需要在第二種情況下手動autorelease str? –
如果一個文件被標記爲「-fno-objc-arc」,那麼你仍然需要手動保留/釋放/自動釋放。 – kevboh