【发布时间】:2011-06-29 17:18:19
【问题描述】:
我想知道我是否使用如下代码所示的块
__block Loader *loader = [[Loader alloc]initWithResourcePath:self.resourcePath];
[loader setCompletionHandler:^(NSArray *anArray){
self.answerArray=anArray;
[self reloadData];
}];
[loader getObjects];
我的问题是关于内存管理的。分析器告诉我有一个潜在的泄漏(因为我为我的加载器做了一个 alloc/init)。我怎样才能阻止这里的泄漏?我试图在最后释放加载程序,但这会导致我的应用程序停止运行。任何建议在这里表示赞赏
【问题讨论】:
-
停止运行如何?你得到什么错误?很有可能它会帮助您找到问题的原因。
-
您将 loader 声明为 __block 有什么原因吗?
标签: objective-c memory-management objective-c-blocks