2011-10-15 4 views
0

나는 거의 TTTableViewController 인 Download Manager를 만들었으며 DataModel은 꽤 많은 ASINetworkQueue와 함께 제공됩니다.TTURLAction을 통해 View Controller에서 메소드 호출?

내 View Controller에서 [DataModel addDownloadWithNameAndUrl : url :]을 호출하고 NetworkQueue에 새 다운로드를 추가하고 TTTableViewController에 표시되는 함수를 만들었습니다. 진행 막대와 나머지를 업데이트합니다.

또한 DownloadManagerViewController 클래스를 URL에 매핑 했으므로 TTNavigator를 사용하여 다운로드 관리자를 열 수 있습니다.

내 질문에 대한 지금. View Controller로 전환하지 않고 요청 된 기능을 실행하기위한 URL을 호출 할 수있는 방법이 있습니까? 어떻게하면 되겠습니까

답변

0
:

[map from:@"tt://order/send" toObject:_controller selector:@selector(sendOrder)]; 

내가 자신을 대상으로 컨트롤러를 필요로 찾을 수 있다면, 같은 대신 애플 대리자에서 개체를 초기화

글쎄요, 실제로는 알아내는 데 다소 시간이 걸렸지 만 다소 단순한 것처럼 보입니다.

- (id) viewControllerForURL: (NSString *) url; 

응용 프로그램을 통해 당신이 URL로 지정한 뷰 컨트롤러의 인스턴스를 얻을 수 있다는 것을 사용하여 :

Thee20 네비게이터는 방법이있다. 그러나 트릭은 당신이

[map @"url" toViewController: <class>]; 

로 할 때마다 URL을 설정 한 경우 새로운 인스턴스보기 컨트롤러의 얻을 수 있다는 것입니다.

내 경우에는 이미 인스턴스화 된보기 컨트롤러를 사용하고 싶으므로 URL을 sharedViewController으로 설정해야합니다.

그래서 UI를 전환하지 않고도 호출 할 수있는 새로운 뷰 컨트롤러에 새로운 메서드를 추가했습니다.

0

샘플/TTNavigatorDemo 프로젝트를 보았습니까? URL 매핑 예제가 많이 있습니다.

등의 [map from:<#(NSString *)#> toObject:<#(id)#> selector:<#(SEL)#>] 기능을 사용해보십시오 :

_playerController = [[PlayerController alloc] init]; 
[map from:@"radio://player/(initWithStation:)" toViewController:_playerController transition:UIViewAnimationTransitionNone]; 
관련 문제