Pergunta

Estou prestes a encerrar o meu primeiro aplicativo para iPhone e percebi que eu executá-lo através dos vazamentos ferramenta de desempenho. Depois de fixar uma uma óbvio, a única que resta é uma com uma ponta na qualidade de uma vista cabeçalho da tabela carregado através loadNibNamed (I foi a seguir as receitas demonstração aqui).


- (void)viewDidLoad {
    [super viewDidLoad];

    if (self.tableHeaderView == nil) {
        [[NSBundle mainBundle] loadNibNamed:@"TableHeaderView" owner:self options:nil];
        self.tableView.tableHeaderView = self.tableHeaderView;
    }
}

Então, em dealloc:


- (void)dealloc {
    [tableHeaderView release];
    [super dealloc];
}

Instruments me diz que eu estou vazando 256 bytes com 2 vazamentos provenientes da linha com loadNibNamed. tableHeaderView é o objeto único nível superior no Nib (eu tenho verificado que no depurador). Existe algo que eu estou esquecendo para liberar? Estou interpretando mal o que Instruments está me dizendo? É errado? É algo que o sistema operacional irá limpar mais tarde?

Foi útil?

Solução

é Instruments lhe dizendo isso apenas no simulador, ou é relatar a mesma coisa em um dispositivo real? Se você não obtê-lo no dispositivo, então é o Simulator -. E que é conhecida a acontecer (não é uma exata match)

Além disso, para baixo em dealloc, não seria [self.tableHeaderView release]? Você tem que ser coerente com a sua utilização.

Para confusão evitar, na sua .h, você declarar o seguinte:

NS/UI/??xxxxxx *_MyObjectName;   //notice the underscore

Em seguida, a propriedade como esta:

@property .... NS/UI/??xxxxxx *MyObjectName;   //no underscore

Em seguida, sintetizar os getters / setters como este:

@synthesize MyObjectName=_MyObjectName;

Finalmente, referir ao objeto ao longo do programa com [self.MyObjectName ...];

Outras dicas

Quando você carrega uma ponta, você é responsável por liberar todos os objetos de nível superior no arquivo nib. Existe alguma coisa nesse arquivo além da TableHeaderView?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top