За един от моите потребителски класове дефинирах метод, наречен initialize, за да задам някои променливи на екземпляр едновременно с init. Кодът е по-долу. Инструментът за анализатор отчита изтичане на информация във viewDidLoad на линията с [[Employee alloc].. Тъй като освобождавам променливата в dealloc, реших, че това трябва да е наред..какъв може да е проблемът? Благодаря предварително.
@interface testViewController : UIViewController <UITextFieldDelegate>{
Employee *employee;
}
- (void)viewDidLoad {
if(employee ==nil)
employee = [[Employee alloc] initialize:@"John"];
if (![employee.entityName isEqualToString:@"Test"]) { //The leak is reported here for object allocated above
///...
}
}
- (void)viewDidUnload {
[super viewDidUnload];
employee = nil;
}
- (void)dealloc {
[super dealloc];
[employee release];
}
//In the Employee class
-(id) initialize:(NSString*) name{
self = [super init];
self.entityName = name;
return self;
}