2011-06-02 82 views
0

在xcode儀器中測試我的IOS應用程序時,我有幾個內存泄漏。任何人都可以看到爲什麼標有「 - >」的行正在泄漏?Xcode儀器 - 修復泄漏

--> CLLocationCoordinate2D newCoord = CLLocationCoordinate2DMake(latitude, longitude); 
--> MapAnnotation* annotation = [[MapAnnotation alloc] initWithCoordinate:newCoord]; 
[mapView addAnnotation:annotation]; 
[annotation release]; 

另外,我好像也有一些結構漏水了;

--> double placeLat = [place.latitude doubleValue]; 

沒有指向「placeLat」變量的指針,所以我不能釋放它? :/

感謝

克里斯蒂

回答

2

你的代碼是正確的,就像你展示它。

你必須記住的一件事是泄漏會告訴你泄漏對象的創建位置,而不是你做錯的地方會產生泄漏。

這是一個重要的區別。的確,在第一種情況下,很可能是你的代碼中其他地方泄露的非常多的對象。您應該檢查儀器向您顯示的所有執行流程,作爲堆棧跟蹤。

+0

謝謝你的回答塞爾吉奧 - 它確實幫了我。這是我調試過的第一個應用程序,這是一場噩夢!在黑暗中徘徊數小時之後,我最終偶然發現了錯誤,在覈心數據中遇到了數據類型問題。這在mapview中引起了一個問題。 – 2011-06-03 19:39:00