2009-07-17 14 views
9

Apple dice:Come rimuovere correttamenteFromSuperview?

removeFromSuperview scollega il ricevitore dalla sua superview e la sua finestra , e lo rimuove dalla catena responder.

  • (void) removeFromSuperview

Mai richiamare questo metodo mentre visualizzazione.

Quindi, quando voglio liberarmi di una vista, ero abituato a dargli il via dalla sua superview. Perché non dovrei mai invocarlo mentre è visibile? Quindi devo impostarlo su hidden = YES prima di farlo?

risposta

17

La specifica specifica "durante la visualizzazione" non "mentre è sul display". Pertanto, non chiamare mai removeFromSuperview nella vista drawRect ad esempio.

removeFromSuperview rilascia la visualizzazione e può rilasciarla. La vista genitore quando si tenta di visualizzare la vista potrebbe non essere stata deallata e causare un accesso danneggiato.