iOS 반사 작업

1. 대상이 어떤 유형인지 판단한다: (부류도 YES로 돌아간다)


isKindOfClass:[NSObject class]

2. 하나의 대상이 특정한 클래스의 실례화 대상인지 판단한다(부류는 YES로 되돌아오지 않는다)


isMemberOfClass:[NSObject class]

3. 어떤 협의가 이루어졌는지 판단


conformsToProtocol:@protocol(NSCopying)

4. 어떤 방법이 존재하는지 판단(이 방법에 응답할 수 있는지)


respondsToSelector:@selector(showMessage:)

동적 생성 클래스

5. 클래스 이름에 따라 클래스 생성


NSString *className=@"Person";
Class myClass=NSClassFromString(className)

myClass로 Person 객체 초기화 가능

Person *person2=[[myClass alloc]init]

6. 유형이 문자열로 변환


NSStringFromClass(myClass),NSStringFromClass([Person class]

7. 방법 이름 문자열에 따라 호출 방법


NSString *methodName=@"showMessage:" //  
SEL mySelector=NSSelectorFromString(methodName);  //    SEL 

performSelector:mySelector withObject:@"Hello,world!" // 실행 방법 8.메서드를 문자열로 변환

NSStringFromSelector(mySelector)

좋은 웹페이지 즐겨찾기