Summary

개발을 하다보면 여러 객체들을 배열형태로 관리하면서 모든 객체에 어떤 함수를 호출시키는 작업이 필요한 경우가 있다.
예를 들면 UIView 의 subViews를 호출하여 for문을 돌면서 모두 removeFromSuperview를 하는게 있다.
이런 경우 makeObjectsPerformSelector를 이용하면 쉽게 해결할 수 있다.

Example

UIView - removeFromSuperview
// Default
for (UIView *view in [self.view subviews]) {
[view removeFromSuperview];
}
// using makeObjectsPerformSelector
[[self.view subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
ps. 이 예제 외에 다른 배열형태로 관리되는 객체들은 모두 적용이 가능해서 편리하게 사용할 수 있다.