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メソッドは対象のインスタンスが存在しなくても落ちることはない