2012-05-10 7 views
0

私は、完全にロードされるのを待っているシナリオを持っています。そして、完了したら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

あなたの質問に対する答えは:はい。 はしかし、私はあなたが代表団がどのように機能するかをよく読んでために、それらを作成する方法が必要になる場合があります、この記事が取得正しい道にあなたを得るかもしれないと考えている:How does a delegate work in objective-C?

また、この記事を見て:http://blog.shoguniphicus.com/2011/10/17/writing-custom-delegate-in-objective-c/

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 
関連する問題