2013-02-19 5 views
-6

여러 클래스에서 함수를 호출하는 다른 방법은 무엇입니까?다른 클래스에서 메서드를 호출하는 방법이 다릅니다.

나는 protocals를 알지만 어느 누구도 예를 들어 설명하고 어느 것이 가장 좋을 수 있습니까?

감사합니다.

+2

"최고"를 정의하십시오. – trojanfoe

+0

은 사용 된 모범 사례를 의미합니다. 선호된다. –

+0

은 전적으로 당신이하고 싶은 것에 달려 있습니다. Apple Developer Library에서 [Objects with Communicating] (https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CocoaFundamentals/CommunicatingWithObjects/CommunicateWithObjects.html)을 읽으셨습니까? –

답변

2

저는 그렇게 생각하지 않습니다. 많은 사람들이 질문의 "최상의"측면에 부정적으로 반응했습니다. 간단한 표현은 "개체 간 통신의 각 종류에 가장 적합한 상황"이 될 수 있습니다. 대부분의 일반적인, 가장 직접적이고 긴밀하게 협력 객체 -

  • 직접 호출을 (목표 - C 언어 방법 구글) 다음과 같이

    는 요약 일반적인 것들이다.

  • KVO (google "Objective-K KVO") - 특정 개체가 다른 개체에서 특정 값을 변경하는 것을 관찰합니다.
  • NSNotification (google "NSNotification") - 임의의/많은 관심있는 개체가 다른 개체가 브로드 캐스팅하려는 이벤트를 관찰 할 수 있습니다.
  • 위임자 (google "Objective-C delegate") - 개체 작업이 필요할 때 다른 객체에 의해 대리자 프로토콜을 게시합니다. 다른 객체는이 프로토콜을 구현하고 ("준수") 대리인으로 지정할 수 있습니다. (내 생각에 남용 된이 하나)

각각 구현 방법에 대한 웹 자료가 많이 있습니다 (자세한 내용은 Google 참조).

+0

감사합니다 형제, 나는 그것을 찾아 내고보기를 발견하는 것을 시도 할 것이다. –

+0

직접 호출을 찾을 수 없습니다. –

+0

그냥 메서드를 호출하는 중입니다. ClassA에는 'foo'메서드를 구현하는 ClassB 인스턴스가 있습니다. 그것은 말한다 : [myClassB foo]; – danh

관련 문제