我知道下面不需要手動釋放(作爲其自動釋放):iOS內存管理:釋放一個字符串還是不?
NSString* str1 = [NSString string];
,這將需要手動釋放:
NSString* str2 = [[NSString alloc] init];
[string2 release];
又是如何的呢?它是自動釋放還是不釋放?
NSString* str3 = @"Example string";
最後,看着下面的代碼片段:如果我理解正確的iOS內存管理,然後釋放RootViewController的參考「RVC」將清除對象,因此它不會使用它在其他地方的代碼 - 我不想要那個。但是,那麼我是否應該至少將引用設置爲null?或者我可以將代碼引用保留在代碼中,而不會導致長期的內存泄漏?
- (void)myMethod
{
RootViewController *rvc = (RootViewController *)navigationController.topViewController;
// using rvc somehow...
// ...but should I set it to null?
}