준비된 대리인 및 데이터 소스 메서드가있는 여러 개의 UITableView가 있습니다. 하위 클래스를 사용하지만 해당 테이블의 didSelectRowAtIndexPath 메서드를 수동으로 편집하지 않고 동일한 두 번째 작업/처리기를 추가하는 방법? 내가 대신 테이블의 UIButtons를 사용하는 경우iOS. UITableView didSelectRowAtIndexPath 이벤트에 대해 동일한 두 번째 작업을 추가 하시겠습니까?
다음 솔루션입니다 :있는 UIButton의 자식 클래스 내부
: 내가 원하는대로
- (void)defaultInit {
[self addTarget:[PCFlurryManager manager] action:@selector(...) forControlEvents:UIControlEventTouchUpInside];
}
- (void)dealloc {
[self removeTarget:[PCFlurryManager manager] action:@selector(...) forControlEvents:UIControlEventTouchUpInside];
[super dealloc];
}
그래서 나는 많은 시간과 같은 이벤트에 대한 addTarget을 사용할 수 있습니다. 그러나 테이블을 위해 유사한 것을 실현하는 방법?
는 이전 대답보다 더하지만 여전히 수동으로 – user2412679
user2412679 @ 당신이 ** ** "당신은 여전히 수동으로이 방법을 편집해야"무엇을 의미합니까이 방법을 수정하기 위해 필요한이 방법을 사용하여 더 나은 무엇입니까? –
필자가 작성한 것처럼 여러 개의 테이블이 있고 각 테이블에는 고유 한 didSelectRowAtIndexPath가 있습니다. 그래서 그들을 제거하고이 메소드의 인스턴스를 다른 하나의 클래스에 복사하여 붙여 넣어야합니다. 예를 들어, 버튼을 사용할 때 "내부 수정"이벤트에 대한 자체 메소드를 변경하거나 복사 할 필요가 없습니다. 클래스를 변경할 수 있기 때문입니다. 그래서 더블 클릭하지 않고 대리자를 재 할당하지 않고 별도로 새 코드를 작성할 수 있습니다 – user2412679