2011-04-07 54 views
2

這裏內存泄漏是在那裏我有內存泄漏的代碼:與下面的代碼

SCNetworkReachabilityRef reach = SCNetworkReachabilityCreateWithName(kCFAllocatorSy stemDefault, "google.com"); 

SCNetworkConnectionFlags flags; 
SCNetworkReachabilityGetFlags(reach, &flags); 

[flags release]; 
[reach release]; 

那些發佈不這樣做。

回答

13

首先,SCNetworkConnectionFlagsenum,所以它不必被釋放。刪除[flags release]並解決問題。

移動時,SCNetworkReachabilityRef通過

CFRelease(reach); 
+0

這個答案應該是正確的發佈:如果您使用基於基金會的內存分配,這將是有意義的使用基於基金會釋放。 – 2011-04-07 04:23:12

+0

是的,如果你沒有調用'[... alloc]'或'[... new ...]',那麼記住它是一個很好的方法,那麼你不應該調用'[...釋放]'。 – 2011-04-07 04:26:52