0

uiwebview が完全に読み込まれるのを待ってから、完了したら finishedWebViewLoading からデリゲートが呼び出されるシナリオがあります。しかし、別のクラスにプライベート オブジェクトであるオブジェクトとしてロードが完了したら、その webView を返したいと考えています。デリゲートを通じてそれを行う方法はありますか?その uiwebview をパブリック プロパティとして使用したくないため、メイン ファイルで使用しました。

ありがとう。

4

4 に答える 4

2

きっとあなたはこのようにそれを行うことができます.. in .h

@protocol yourClassProtocal <NSObject>

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

@end

および webView デリゲートでwebViewDidFinishLoad

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [delegate loadingFinsihForWebView:webView];
}
于 2012-05-10T08:12:21.420 に答える
0

これを使用できます:

 if([self.theDelegate respondsToSelector:@selector(loadData:)]) {
        [self.theDelegate performSelector:@selector(loadData:) withObject:theObject]; 
于 2012-05-10T08:11:58.253 に答える
0

あなたが求めていることを理解しているかどうかはわかりませんが、 から値を返すこと(void)webViewDidFinishLoad:(UIWebView*)webViewも、デリゲートの署名を変更することもできません。

一方、 から別のカスタム デリゲート メソッドを呼び出すつもりでwebViewDidFinishLoad、それが を返すようにするwebView場合、これは間違いなく可能です。そのカスタム デリゲート メソッドを呼び出して を渡し、webViewカスタム デリゲート メソッドがそれを返すようにするだけです。

これは、カスタム デリゲート メソッド シグネチャの定義を担当していることを前提としています。

@protocol CustomDelegateProtocol
    - (UIWebView*)myCustomDelegateMethod:(UIWebView*)view;
@end
于 2012-05-10T08:12:55.960 に答える
0

あなたの質問への答えは: はい。ただし、デリゲートの仕組みと作成方法について読む必要があるかもしれないと思います。この投稿は、そこにたどり着くための正しい道をたどるかもしれません: How does a delegate work in Objective-C?

また、この記事をご覧ください: http://blog.shoguniphicus.com/2011/10/17/writing-custom-delegate-in-objective-c/

于 2012-05-10T08:10:17.537 に答える