Que “Top-Nível Objects” é a Apple falando no gerenciamento de memória Guia de Programação?

StackOverflow https://stackoverflow.com/questions/804539

  •  03-07-2019
  •  | 
  •  

Pergunta

No Gerenciamento de memória Guia de Programação de cacau fala da Apple sobre Top-Nível Objects. Eles dizem, que eu preciso de uma saída para cada um deles.

Se houver qualquer de nível superior objetos você não armazenar em lojas, no entanto, você deve manter tanto a matriz retornada pelos loadNibNamed: Proprietário: opções: Método ou os objectos no interior da matriz para evitar que os objectos a partir sendo lançado prematuramente.

Então, o que exatamente eles querem dizer com "objeto de nível superior"? Eu diria que eles falam sobre a exibição de raiz e janela. O quê mais? E é essa dica apenas para os casos em que eu gostaria de carregar sua nib manualmente? Ou não se aplicam para qualquer ponta e qualquer caso?

Foi útil?

Solução

objetos de nível superior são objetos que aparecem na janela nib principal em Interface Builder, com excepção do proprietário e aplicação de arquivo.

Outras dicas

Sim, esta é sobre os casos em que você carrega o Nib manualmente, então você não teria chamado loadNibNamed: Proprietário: opções:.

Os objetos que aparecem na janela com dono do arquivo, First Responder, Vista são objetos de nível superior. Qualquer coisa que você adicionar à vista será um subexibição - todos os subviews retidos pelos seus superview direta, para que eles não precisem ser retidos em outro lugar. A vista em si é retida pelo controlador de vista, de modo que não precisa ser mantido.

Se você adicionar não ver objetos ou pontos de vista que você não colocar em sua tela principal de imediato (como botões da barra de ferramentas que não estão atualmente mostrando) que você precisa para mantê-los, ou eles vão ser liberado. Meu método preferido para fazer isso é com IBOutlets usando @property, como este:

@property(nonatomic, retain) IBOutlet UIBarButtonItem * myButton;

Isso faz com que -setMyButton:. A ser chamado de proprietário do arquivo (se este código é em dono do arquivo) e o objeto conectado através IB é enviado para ser armazenado nesta propriedade

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