2012-05-10 2 views
0

시나리오가 있습니다. 여기에 uiwebview가 완전히로드 될 때까지 기다렸다가 한 번 완료된 finishedWebViewLoading에서 호출되는 대리자가 있습니다. 그러나 다른 클래스의 전용 객체 인 객체로로드가 끝나면 webView를 반환하려고합니다. 대표단을 통해이를 수행 할 여지가 있습니까? 저는 Uiwebview를 공개 재산으로 갖고 싶지 않습니다. 따라서 저는 그것을 주 파일로 활용했습니다.Objective-C에서 대리인을 통해 개체를 보낼 수있는 방법이 있나요?

감사합니다.

답변

2

는 당신이 이런 식으로 작업을 수행 할 수 있습니다 .. .H

@protocol yourClassProtocal <NSObject> 

- (void) loadingFinsihForWebView:(UIWebView*)wv; 

@end 

에서 그리고 우리에 bView 위임 webViewDidFinishLoad

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    [delegate loadingFinsihForWebView:webView]; 
} 
+0

덕분에,이 내가 찾던 것입니다. – kforkarim

0

이를 사용할 수 있습니다

if([self.theDelegate respondsToSelector:@selector(loadData:)]) { 
     [self.theDelegate performSelector:@selector(loadData:) withObject:theObject]; 
0

나는 당신이 요청하고 있습니다,하지만 당신은 (void)webViewDidFinishLoad:(UIWebView*)webView에서 모든 값을 반환 할 수 없으며이 위임 서명을 변경할 수 있습니다 이해 모르겠습니다. 당신은 당신이 webViewDidFinishLoad에서 다른 사용자 정의 대리자 메서드를 호출려고하고있다, 당신은 그것이 webView을 반환 할 것을 의미하는 경우, 다른 한편으로

는,이 확실히 가능하다. 해당 사용자 지정 대리자 메서드를 호출하고 webView을 전달한 다음 사용자 지정 대리자 메서드로 반환하면됩니다.

이 사용자 정의 대리자 메서드 서명의 정의를 담당하는 가정, 예컨대 :

@protocol CustomDelegateProtocol 
    - (UIWebView*)myCustomDelegateMethod:(UIWebView*)view; 
@end 
관련 문제