addsubviewされてないviewを消す

addsubviewばっかやっているとメモリリークおこしてどぼんなので、
解放したいときってあるかとおもいますが、
その解放で、addsubviewされていないviewを解放してどぼんするのも嫌なので、
そんな時に便利なのが「removeFromSuperview」です。

これをいれておけば一件落着!

使用例

- (void)reloadData {
    for (RDVCalendarDayCell *visibleCell in [self visibleCells]) {
        [visibleCell removeFromSuperview];
        [visibleCell prepareForReuse];
        [_dayCells addObject:visibleCell];
    }
    
    for (UIView *separator in _visibleSeparators) {
        [_separators addObject:separator];
        [separator removeFromSuperview];
    }
    
    [_visibleSeparators removeAllObjects];
    [_visibleCells removeAllObjects];
}

参考

tachesimazzoca: UIView removeFromSuperview で subviews を解放

Objective-Cと戦うブログ: removeFromSuperviewメソッドは対象のインスタンスが存在しなくても落ちることはない