2013-03-10 5 views
1

내 프로젝트에는 30+ viewcontroller가 있는데, 28 개에 추가 할 동작이 있습니다.viewcontroller inheritance

해당 viewcontroller에서 10 초가 지나지 않으면 버튼을 클릭하면 맨 위에서 슬라이딩하는 alertview를 제시해야합니다. (나는 이미 그들 중 하나에 대한이 동작을 구현했습니다)

하지만 내 질문은 어떻게 이러한 모든 viewcontrollers 적절한 방법으로이 동작을 상속 할 수 있습니다?

Google 검색은 있지만 해결책을 찾을 수 없습니다.

답변

3

경우, 즉 UIViewController의 서브 클래스는이 기능을 필요로보기 컨트롤러가 아닌 UITableViewController 또는 UIViewController의 또 다른 서브 클래스의 모든 UIViewController의 서브 클래스를 만들 수 있습니다. 예를 들어, ButtonClickAlertViewController (또는 의미가 무엇이든)을 구현하면 필요한 기능을 구현할 수 있습니다. 뒤로 젖히다. 그런 다음이 기능이 필요한 클래스를 모두 UIViewController 대신 ButtonClickAlertViewController 클래스의 하위 클래스로 만듭니다.

이 특정 기능이 각각의 개별보기 컨트롤러 클래스에 어떻게 통합되는지 고려해야 할 수도 있습니다. 예를 들어, ButtonClickAlertViewController 클래스에 타이머를 확인하고 경고를 표시하기 위해 단추를 클릭했음을 알리는 메서드가 필요할 수 있습니다. 하위 클래스 ButtonClickAlertViewController에 속하는 각 클래스에서 버튼 클릭 동작에서 호출하는 각각의 IBAction 메서드에서이 메서드를 호출해야 할 수 있습니다.

0

하위 클래스 UIViewController 모든보기 컨트롤러에 대해 원하는 동작을 추가 한 다음 기존 동작을 viewController에서 원하는대로 동작 시키십시오.

상속 체인 :

의 UIViewController -> ViewControllerWithBehaviorForAll -> YouExistingViewlContollersWhichNeedTheBehavior