Mobile/iOS

동적 형을 다루는 메소드

out of coding 2014. 2. 28. 13:59

id형을 사용하게 되면, 자바에서의 instanceof와 같이 객체를 비교하는 부분이 당연히 필요할것이다.

여러가지가 존재하는데, isKindOfClass, isMemberOfClass 만 많이 쓸듯.

[]안의 내용들은 비교할 대상? 이다.

메서드

액션 

 - (BOOL) isKindOfClass:[class-object]

객체가 class-object의 멤버이거나 자식 클래스의 멤버인가? 

 - (BOOL) isMemberOfClass:[class-object]

객체가 class-object의 멤버인가? 

 - (BOOL) respondsToSelector:[selector]

객체가 selector로 지시한 메서드에 응답할 수 있는가? 

 + (BOOL) instancesRespondToSelector:[selector]

지정한 클래스의 인스턴스가 selector에 응답할 수 있는가? 

 + (BOOL) isSubclassOfClass:[class-object] 

객체가 지정한 클래스의 서브클래스인가? 

 - (id) performSelector:[selector]

selector로 지정한 메서드를 적용한다. 

 - (id) performSelector:[selector] withObject:[object]

selector로 지정한 메서드와 object 인수를 함께 적용한다. 

 - (id) performSelector:[selector] withObject:[object] withObject:object2

selector로 지정한 메서드와 object1, object2 인수를 함께 적용한다.