我试图了解 Xcode 中的分配工具告诉我什么。我正在使用 ARC。我的主从应用程序的 DetailViewController 中有以下方法:
- (FFMasterViewController*) masterViewController
{
return (FFMasterViewController*)[[self.splitViewController.viewControllers objectAtIndex:0] topViewController];
}
- (SQLDataController*) sqlDataController
{
return self.masterViewController.dataController;
}
第一种方法似乎很好。但根据 Allocations 的说法,第二个导致 100.0% 的内存泄漏。dataController 是我的 MasterViewController 中的一个 ivar。我编写这两种方法是为了方便从 DetailViewController 中的方法引用 MasterViewController 和 DataController。我可以显示更多代码,但我不确定接下来要查看什么来查找泄漏。我不明白如何在一种情况下返回指针很好,但在另一种情况下会导致泄漏。