объекты, которые сохраняются во время объявления poperty, должны быть освобождены в методе dealloc. Так что, если вы заявляете
@property(nonatomic, retain)NSString xyz;
,
вам нужно, чтобы он был выпущен в dealloc как
-(void)dealloc{
[xyz release];
[super dealloc]
}
Любая другая выделенная память должна быть освобождена сразу после последнего использования этого объекта из ваших методов.
Так что, если вы выделяете xyz, в
-(void)abc{
// xyz allocted here
}
тогда вы должны отпустить его в конце того же метода.
-(void)abc{
// xyz allocted here
// do something with xyz
//release xyz
пример:
-(void)abc{
xyz=[[NSString alloc]init];//this may not be what you are following, but i just meant allocating memory
// do something with xyz
[xyz release]
//release xyz
В этом случае вам не нужно освобождать его в методе dealloc.
Кроме того, если вы свойство, объявляющее xyz и повторяющее его, вы не должны выделять его в своих методах и не должны выпускать