2011-06-02 135 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