특정 프로토콜을 확인하지 않는 클래스가 있습니다.클래스에 프로토콜을 선택적으로 추가하기
xyzClass : UIVIewController <> 이제 해당 클래스의 한 인스턴스에서 해당 프로토콜을 사용하고 싶습니다.
xyzClass : UIViewController에
는어떻게 실행 시간에 추가 할 수 있습니다 ? 또는 다른 제안?
특정 프로토콜을 확인하지 않는 클래스가 있습니다.클래스에 프로토콜을 선택적으로 추가하기
xyzClass : UIVIewController <> 이제 해당 클래스의 한 인스턴스에서 해당 프로토콜을 사용하고 싶습니다.
xyzClass : UIViewController에
는어떻게 실행 시간에 추가 할 수 있습니다 ? 또는 다른 제안?
당신은
@protocol <...> NSObject
@required
(required methods here)
@optional
(optional methods here)
@end
그냥 그 선택을 테스트해야 선택 프로토콜 방법 (들)을 만들 수있는 것은 응답 :
if ([delegate respondsToSelector:@selector(didDoSomething)])
{
[delegate didDoSomething]
}
당신은 하나 개의 인스턴스 만의 프로토콜을 사용하려는 경우, 당신이 할 수있는 대리자 속성 및 프로토콜 메서드를 옵션으로 선언합니다. 하나의 인스턴스에서 delegate 속성은 nil이고 다른 하나는 속성을 인스턴스화합니다. 으로 RegularExpression이 대리자 (첫 번째 경우를) 인스턴스화 할 경우
if (self.delegate && [self.delegate respondsToSelector:@selector(didSomething)])
{
[self.delegate didSomething];
}
그래서, 앱이 충돌하지 않습니다 말했듯이
당신은 프로토콜의 메소드를 선언해야합니다.