2011-06-11 2 views
1

(AddMusic 예제와 비슷한) iPod에서 음악을들을 수있는 App을 개발하려고합니다. 일부 그래픽 및 음악 재생을 관리하는 단추가있는 사용자 지정보기 ViewController 있어요. navigationController를 사용하면 iPod 음악에서 목록을 선택하고 UITable (AddMusic처럼)에 표시 할 수 있습니다.UIView 및 MVC (Model View Controller) 패턴

지금은, 재생, isPlaying, 기간을 중지 음악의 목록을 관리 할 수있는 모든 방법을 프로그래밍 할 수있는 등

내 질문은 : 모델 뷰 컨트롤러 패턴을 따라하기 위해

, 뷰어가 아닌 메인 ViewController 나 사용자와 상호 작용하는 버튼이있는 뷰에서 (음악 관리를 위해) 모든 메소드를 프로그래밍 할 수있는 가장 좋은 곳은 어디입니까?

대답은 기본 ViewController 여야한다고 생각하지만 그 경우에는 사용자 인터페이스 버튼이있는 뷰에서 해당 메소드에 액세스 할 수 있고 그래픽을 관리하고 있습니까? 왜냐하면 UIView에는 'parentViewController'와 같은 것이 없기 때문입니다.

대단히 감사합니다.

Kanick

답변

0

당신은 정확히 주요의 ViewController를 상속하는 클래스를 선언 할 수 있습니다. 두 번째보기 컨트롤러에서 해당 클래스의 인스턴스를 만들 수 있습니다. 결국 객체는 메인 뷰 컨트롤러에있는 모든 정보를 얻을 수 있습니다.

+0

감사합니다. @Mikayil, 당신의 아이디어를 시도했습니다. 정말 두 개의 뷰 컨트롤러가 없습니다. 1 viewController (내 mainViewControler) 및 뷰 (있는 [mainViewController setView : myView]). 어쨌든, 나는 당신이 새로운 클래스를 선언했다는 것을 제안했다. -> @interface inheritsFromMyMainViewController : myMainViewController {}. 좋아, myMainViewController의 메서드에 액세스 할 수 있지만 그 ivars (어쩌면 내가 뭔가 잘못했다) 때문에 (ID) 보낸 사람 myView 및 다른 점은 주문을 처리하기 위해 currentTime 처리해야합니다. . 내가 맞습니까? – Kanick

+0

개체의 ivars에 도달하는 규칙은 @property입니다. ivars, getter 및/또는 setter 메소드에 대해 속성을 선언하지 않은 경우 액세스 할 수 없습니다. 그러므로 어느 쪽이든 사용 하시길 바랍니다. 물론 도트 구문을 사용하여 @property way를 사용하는 것이 좋습니다. 그러나 currentTime과 move graphics 사이의 관계를 이해하지 못했습니다. –