2014-11-10 2 views
0

내 응용 프로그램에서이 aViewController 메서드 - (void) ShareThis가 있습니다. UIActivityViewController를 호출하는 것을 포함하여 여러 가지 작업을 수행하여 전자 메일 및 소셜 미디어를 통해 항목을 공유합니다.다른 클래스에서 UIActivityViewController 호출

또한 bViewController와 cViewController가 있는데, 거기에서 액세스하려고합니다. - (void) ShareThis 메서드. 현재 모든 컨트롤러 클래스에서 코드를 반복하지만 바보 같고 유지하기가 쉽지 않습니다.

- (void) ShareThis를 + (void) ShareThis로 변경하려고했지만 + (void) ShareThis 내에서 aViewController와 관련된 메소드를 실행할 수 없다는 문제가 발생했습니다.

간단히 말해서, 저는이 문제를 해결하는 방법에 대한 지식이나 이해가 부족하다고 생각합니다. 여기 당신을 도울 수 있습니까?

미리 감사드립니다.

답변

0

당신이해야 할 일은 아마도이 모든 메소드를 aViewController에서 완전히 제거하고 앱에서 물건을 공유 할 수있는 클래스에 넣어 두는 것입니다.

그런 다음 B 및 C 컨트롤러에서이 shareClass를 만들 수 있습니다.

또는 A로 작성한 다음 속성으로 B와 C에 전달할 수 있습니다. 어느 쪽이든 작동합니다.

이 ShareClass는 NSObject의 하위 클래스이며 공유하는 데 필요한 모든 코드를 포함합니다.

+0

나는 그런 식으로 생각합니다. 그렇게함으로써, 나는 또 다른 불가능 성을 겪었지만, 나는 그것으로 살아갈 것이다. – Sjakelien

+0

앱을 지원하는 아키텍처가 올바른 경우에는 '불가능'하지 않습니다. – Fogmeister

+0

음, 내 - (void) ShareThis 안에는 UIActivityViewCOntroller가 공유에 성공하면 ViewCOntroller를 호출하는 방법이 있습니다 - (void) ShareThis remote. – Sjakelien