2012-05-04 4 views
1

비슷한 기능을 가진 두 개의보기 컨트롤러가 있습니다. 그들 중 일부는 IBActions입니다. 버그를 수정하는 것이 더 쉽도록 함께 모으는 방법이 있습니까? 상속을 시도했지만 작동하지 않는 것 같습니다.iOS (IBAction)에서 코드를 재사용하는 방법은 무엇입니까?

@implementation ClassA 
-(IBAction)f 
{ 
    //some code here 
} 

@implementation ClassB 
-(IBAction)f 
{ 
    //some code here 
} 

제 질문은 함수 f를 한 번 작성하는 방법입니까? 버그가있는 경우이 방법으로 버그를 빨리 해결할 수 있습니다.

+1

질문을 해결하고 올바르게 질문하십시오. – vishiphone

+1

몇 가지 코드를 게시 할 수 있습니까? – iMash

+0

void와 같은 IBActions 메서드를 사용하고 특정 (id) 보낸 사람 매개 변수 (예 : 보낸 사람이 button1 및 button2 인 경우)를 사용하여 호출 할 수 있습니다.이 메서드를 호출 한 UI 요소를 확인할 수 있습니다. 이것은 당신이 방법을 다양 화하는 것을 도울 것입니다. – Vinh

답변

0

상속에, 당신은 단지 추상적 인 기능처럼, 부모 클래스에 선언 할 수 있으며, 각 아동의 해상력을 위해 separte 될 것입니다, 지금 당신이해야 할 것은이

는 논리 만 수행하는 상위 클래스의 메소드를 할 것입니다

두 가지 ibactionn 메서드를 자식으로 만들고 해당 메서드에서 현재 자식 UI 작업을 수행하고 위에서 만든 u의 논리 메서드를 사용하여 데이터를 가져옵니다.

당신이 soltion을 얻었는지 아닌지 알려줍니다.

+0

답변 해 주셔서 감사합니다. 이번에는 Ctrl 키를 누른 채 스토리 보드의보기 컨트롤러를 동일한 IBAction (기본 클래스)으로 드래그했습니다. 이것은 지난 번에 작동하지 않았지만 이번에는 작동합니다. 나는 이유를 모른다. – yoyosir

0

작업을 수행하는 방법을 만들고 IBAction 또는 필요할 때마다 호출하십시오.

+0

답변 해 주셔서 감사합니다. 이번에는 Ctrl 키를 누른 채 스토리 보드의보기 컨트롤러를 동일한 IBAction (기본 클래스)으로 드래그했습니다. 이것은 지난 번에 작동하지 않았지만 이번에는 작동합니다. 나는 이유를 모른다. – yoyosir

0

당신은 이것을위한 클래스 방법을 만들 수있는 클래스의 유틸리티 종류를 만들 수 있습니다. 그리고 필요한 경우이 메서드를 호출 할 수 있습니다.

0

요구 사항에 따라 다른 싱글 톤 클래스 또는 유틸리티 클래스를 만들 수 있습니다. 그리고 공통 기능을위한 클래스 메소드를 작성하십시오. 그래서이 기능을 프로젝트의 어디서나 사용할 수 있습니다.

몇 가지 일반적인 기능에 대해 유틸리티 클래스 또는 싱글 톤 클래스를 만드는 것이 좋습니다.

관련 문제