На вопрос о том, освобождается ли представление при вызове -removeFromSuperView
, это так, и это задокументировано в справке UIView под -removeFromSuperView
. Не так явно указано, что -addSubView:
вызывает -removeFromSuperView
, но это подразумевается и может быть проверено путем перегрузки -removeFromSuperView
в подклассе UIView.
Поэтому я не могу думать о причине, чтобы звонить -removeFromSuperView
в этом случае. Нет никаких оснований для управления памятью, так что это добавляет сложности кода (и, следовательно, потенциальных ошибок) для небольшого значения. Даже в тех случаях, когда я хотел подчеркнуть более поздним разработчикам, что это представление меняет иерархию представления, я бы использовал здесь комментарий, а не дополнительное сохранение / публикацию здесь.