1
(或者甚至只有一个类和一个代表)如何发布具有相同代表的几个类?
说我有一个名为DataGetter的类,它从Web下载文件。它有一个委托方法,后者当文件被下载触发:
- (void) dataGetterFinished:(DataGetter *)dataGetter;
所以在我的代码,我可以建立多个文件somehere要下载像这样:
// in AViewController.m
DataGetter *blueFile = [[DataGetter alloc] init];
blueFile.delegate = self;
[blueFile getData:@"http://example.com/blue-file"];
DataGetter *redFile = [[DataGetter alloc] init];
redFile.delegate = self;
[redFile getData:@"http://example.com/red-file"];
使用铛静态分析器,上面的每个分配线都会得到'在线分配的对象的潜在泄漏...'错误。那么我将如何释放该对象。它必须留下来,因为它有一个代表。因此,它是确定以释放它作为dataGetterFinished方法的最后一行,像这样
- (void) dataGetterFinished:(DataGetter *)dataGetter
{
// code
[dateGetter release];
}
......或者我应该以某种方式使用自动释放?
谢谢!使用NSMutableArray而不是在委托方法中释放类的优点是什么?只是为了取悦铿锵神? – cannyboy 2010-11-28 20:50:13