2011-09-08 4 views
0

나는 3 개의보기가있는 응용 프로그램과 메시지를 구문 분석하고 서버에 연결하는 2 개의 클래스가 있습니다.다른보기에서 같은 클래스

문제는 모든 세 가지보기 (및 연결)에서 파서를 사용해야합니다. 하지만 모든 뷰에서 두 인스턴스를 초기화하고 초기화하는 것이 현명한 성능이 아닐 수도 있습니다. ?

그것은 정확하지 않습니다, 어떻게해야합니까? 나는 appDelegate에서 그것들의 인스턴스를 만드는 것에 대해 생각하고있다. 그러나 나는 그 인스턴스의 메서드를 사용하기 위해 어떻게해야하는지 모르겠다. 사전

답변

0

AppDelegate에 다시 전달이 가능하지만, 정말 OOP는 그것이 다음과 같이 AppDelegate에 코드 어디에서나 접근 할 수 있습니까? 곧 당신은 더 큰 응용 프로그램에서보기 컨트롤러간에 데이터를 앞뒤로 전달하는 데 사용할 것입니다.

핵심 데이터 프로그램에서 관리 대상 개체 컨텍스트를 전달하는 것과 비슷한 방법으로이를 수행하는 더 좋은 방법은 뷰 컨트롤러에서 파서를 보유 할 속성을 만드는 것입니다. 이 파서를 한 곳에서 만들고 새보기 컨트롤러를 만든 후 파서를 가리 키도록 속성을 설정합니다. 그렇게하면 하나의 인스턴스를 지나치는 방식으로 제어됩니다.

+0

알았어요. 이해 하겠지만, Core Data에 익숙하지 않은 것 같습니다. 그리고 제가 말씀 드렸던 방식대로 할 것입니다. – Erakk

+0

나는 그것을 얻었다! 감사! – Erakk

-1

에서

감사 그것은 AppDelegate에 그것을 만드는 데이 경우에는 더 좋을 것입니다.

MyAppDelegate *delegate=(MyAppDelegate *)[[UIApplication sharedApplication] delegate]; 
[delegate parse:data]; 
+0

좋아, 나는 그것을 생각한다. 것은, 예를 들어, 내 Connection은 authenticate : 메소드를 가지고 있으며 Connection은 내 appDelegate에서 초기화됩니다. 메서드를 호출하려면 : 세 번째 뷰에서 어떻게해야합니까? [appDelegate authenticate : data]를 수행하면 응답에 대한 경고 메시지가 나타납니다. – Erakk

관련 문제