What is the best way to remove all subviews from you self.view?
Solution 1:
[self.view.subviews makeObjectsPerformSelector: @selector(removeFromSuperview)];
It's identical to your variant, but slightly shorter.
Solution 2:
self.view.subviews.forEach({ $0.removeFromSuperview() })
Identical version in Swift.