instances Respond To Selector와responds To Selector의 차이

1250 단어
instancesRespondToSelector:클래스가 실례화된 후의 대상이 특정한 방법에 귀속되었는지 여부respondsToSelector:클래스나 대상이 특정한 방법에 귀속되었는지 여부의 차이:
  • 전자는 클래스에만 사용할 수 있고 후자는 클래스나 대상에만 사용할 수 있다.
  • 전자는 의 존재 여부를 판단하는 데만 적용되고 후자는 에 적용된다.

  • 예:

    @interface Test1 : NSObject
  • (void)objectFun;
  • (void)classFun;

  • BOOL flag;
    flag = [Test1 instancesRespondToSelector:@selector(objectFun)]; //YES
    flag = [Test1 instancesRespondToSelector:@selector(classFun)]; //NO
    flag = [Test1 respondsToSelector:@selector(objectFun)]; //NO
    flag = [Test1 respondsToSelector:@selector(classFun)]; //YES
    Test1 *obj = [[Test1 alloc] init];
    flag = [obj respondsToSelector:@selector(objectFun)]; //YES
    flag = [obj respondsToSelector:@selector(classFun)]; //NO
    요약:
  • instancesRespondToSelector는 클래스 이름 뒤에만 쓸 수 있고, respondsToSelector는 클래스 이름과 실례 이름 뒤에만 쓸 수 있다.
  • [ instancesRespondToSelector]는 이 종류의 실례가 어떤 방법을 포함하는지 판단하는데 [ respondsToSelector]와 같다.
  • [ respondsToSelector]는 어떤 방법이 포함되어 있는지 판단하는 데 쓰인다.

  • 저작권 존중

    좋은 웹페이지 즐겨찾기