동적 형을 다루는 메소드
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 인수를 함께 적용한다. |