Вопрос по cocoa-touch, iphone, uikit – Как правильно удалить из Superuview?

9

Apple говорит:

removeFromSuperview Unlinks the receiver from its superview and its window, and removes it from the responder chain.

(void)removeFromSuperview

Never invoke this method while displaying.

Поэтому, когда я хочу избавиться от вида, я привык просто отталкивать его от своего суперпредставления. Почему я никогда не должен вызывать это, пока оно видно? Таким образом, я должен установить его скрытым = ДА, прежде чем сделать это?

Ваш Ответ

1   ответ
17

В спецификации указывается & quot; при отображении & quot; не "пока оно на дисплее". Таким образом, вы никогда не должны звонитьremoveFromSuperview в представленииdrawRect например.

removeFromSuperview освобождает представление и может освободить его. Родительское представление при попытке отобразить представление может не ожидать, что оно будет освобождено и приведет к повреждению доступа.

Похожие вопросы