У меня утечка памяти с кодом ниже.Если я использую [sub release];
после добавления sub к NSmutableArray (subViewController), Analyzer говорит «Некорректное уменьшение счетчика ссылок на объект, который в данный момент не принадлежит вызывающей стороне» , когда я удаляю [sub release]
тогда он говорит "Потенциальная утечка объекта, выделенного в строке xx"
for (int i=0; i<[self.data count]; i++) {
SubCategoryViewController *sub =[[SubCategoryViewController alloc]
initwithServiceUrl:urlString andHeaderValue:
((PMCategory *)[self.data objectAtIndex:i]).categoryName];
[[AppDelegate sharedAppDelegate].viewController.subViewControllers addObject:sub];
[sub release];
}
Алсон, если я использую авто-релиз, Предупреждение становится "Объект отправлен -авто, слишком много раз отправлено"
SubCategoryViewController *sub =[[[SubCategoryViewController alloc]
initwithServiceUrl:urlString andHeaderValue:
((PMCategory *)[self.data objectAtIndex:i]).categoryName]autorelease];
Добавлено из комментария: SubCategoryViewController Метод инициализации:
@property (nonatomic, retain) NSMutableArray *data;
@property (nonatomic, copy) NSString *headerText;
@synthesize data = _data;
@synthesize headerText=_headerText;
...
self = [super init];
if (self) {
self.data = [[NSMutableArray alloc] init] ;
self.headerText =headerValue;
self.serviceURL =serviceU;
self.firstLoad = YES;
}
return self;