我有一个场景,我正在等待 uiwebview 完全加载,然后在完成后从 finishedWebViewLoading 调用一个委托。但是,我想在完成加载作为另一个类的私有对象的对象时返回该 webView。反正有没有通过代表来做到这一点?我不想将该 uiwebview 作为公共财产,因此我在我的主文件下使用了它。
谢谢。
我有一个场景,我正在等待 uiwebview 完全加载,然后在完成后从 finishedWebViewLoading 调用一个委托。但是,我想在完成加载作为另一个类的私有对象的对象时返回该 webView。反正有没有通过代表来做到这一点?我不想将该 uiwebview 作为公共财产,因此我在我的主文件下使用了它。
谢谢。
当然你可以这样做..在.h
@protocol yourClassProtocal <NSObject>
- (void) loadingFinsihForWebView:(UIWebView*)wv;
@end
并在 webView 委托中webViewDidFinishLoad
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[delegate loadingFinsihForWebView:webView];
}
你的问题的答案是:是的。但是,我相信您可能需要阅读委托如何工作以及如何创建委托,这篇文章可能会让您走上正确的道路:委托如何在 Objective-C 中工作?
另外,看看这篇文章:http: //blog.shoguniphicus.com/2011/10/17/writing-custom-delegate-in-objective-c/
你可以使用这个:
if([self.theDelegate respondsToSelector:@selector(loadData:)]) {
[self.theDelegate performSelector:@selector(loadData:) withObject:theObject];
我不确定我是否理解您的要求,但您不能从中返回任何值(void)webViewDidFinishLoad:(UIWebView*)webView
,也不能更改委托签名。
另一方面,如果您的意思是要从 调用另一个自定义委托方法webViewDidFinishLoad
,并且希望它返回webView
,那么这绝对是可能的。只需调用该自定义委托方法并将其传递webView
给它,然后使自定义委托方法返回它。
这假设您负责自定义委托方法签名的定义,例如:
@protocol CustomDelegateProtocol
- (UIWebView*)myCustomDelegateMethod:(UIWebView*)view;
@end