- (void)doesNotRecognizeSelector:(SEL)aSelector

960 단어
이 방법은 비교적 재미있다. 단지 프로그램이 주동적으로 하나를 던졌을 뿐이다. - [student say Hi]: unrecognized selector sent to instance 0x7fc370798e80 식별할 수 없는 방법의 이상은 이 방법이 무슨 소용이 있겠는가?Person 클래스가 하나 있는데, 그 중 하나는sayHi 방법입니다. 우리는 모든 하위 클래스를 다시 써야 한다고 요구합니다. (물론 우리는 프로토콜을 사용할 수 있습니다.) 우리는 이렇게 쓸 수 있습니다.
@implementation Person
- (void)sayHi {
    NSLog(@"if you not override this method, you will get a exception");
    [self doesNotRecognizeSelector:_cmd];
}
@end

하위 클래스가 상위 클래스를 다시 쓰는 방법이 없으면 이 방법을 사용합니다. 이때 이상을 던지고 이상 단점을 칩니다. 프로그램은 2015-09-28 10:21:04.099 MethodForSelector[857:352928] if you not override this method, you will get a exception 2015-09-28 10:21:04.99 MethodForSelector[857:352928] - [[[Student say Hized to]: unrecogniction a selection 370xsenfc80, 798db,물론 이것은 결코 좋은 방법이 아니다.
즉 부류가 방법을 써서 이 방법을 조정한 것이다.만약 하위 클래스가 이 방법을 다시 쓰지 않았다면, 실행 중 하위 클래스가 이 하위 클래스를 호출하는 방법은 즉시 붕괴될 것입니다.doesn't recognise seletor 이 문제를 보고하는 방법은 비교적 강합니다.

좋은 웹페이지 즐겨찾기