Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa touch 如何在cocoa中调用web视图的webviewdidfinishload委托方法?_Cocoa Touch_Cocoa - Fatal编程技术网

Cocoa touch 如何在cocoa中调用web视图的webviewdidfinishload委托方法?

Cocoa touch 如何在cocoa中调用web视图的webviewdidfinishload委托方法?,cocoa-touch,cocoa,Cocoa Touch,Cocoa,我正在使用WebView的WebViewDidFinishLoad委托方法,但没有调用它。每当我在WebView中运行应用程序并加载请求时。 请告诉我,如何调用该方法以及我需要与文件所有者连接的委托 任何帮助都将不胜感激。 提前感谢。尝试添加(并用您的UIWebView门店名称替换myUIWebView): 在头文件中,添加,以便可以使用以下方法: -(void)webViewDidStartLoad:(UIWebView *)webView { } -(void)webViewDidFini

我正在使用WebView的WebViewDidFinishLoad委托方法,但没有调用它。每当我在WebView中运行应用程序并加载请求时。 请告诉我,如何调用该方法以及我需要与文件所有者连接的委托

任何帮助都将不胜感激。 提前感谢。

尝试添加(并用您的UIWebView门店名称替换
myUIWebView
):

在头文件中,添加
,以便可以使用以下方法:

-(void)webViewDidStartLoad:(UIWebView *)webView {

}
-(void)webViewDidFinishLoad:(UIWebView *)webView{

}

你在评论另一个答案时说:

未调用此方法

那是因为没有这样的方法

WebView和UIWebView不是一回事。前者在Mac上的WebKit框架中;后者位于iOS上的UIKit框架中。iOS上不提供WebView,Mac上不提供UIWebView

UIWebView是WebView的一个非常精简的版本。特别是,UIWebView只有一个委托协议,其中
webViewDidFinishLoad:
是其方法之一,而WebView有不少于六个委托协议

webViewDidFinishLoad:
仅存在于iOS应用程序的UIKit框架中的UIWebViewDelegate协议中。在Mac应用程序中实现它将一事无成,因为没有任何东西会调用它

请告诉我如何调用该方法

这对您没有好处,因为实现它的全部目的是找出加载何时完成。对于您自己调用它,您需要知道何时调用它,即加载完成时。要知道这一点,您需要被告知WebKit已完成加载。正如他们在逻辑中所说的那样,这就是

正确的解决方案是将正确的委托设置为符合正确的委托协议并实现正确方法的对象。正确的代表是。因此,正确的协议是。该协议中帧加载委托必须实现的正确方法是



具有相同问题的程序员(
webviewdiffinishload:
未被调用)应确保将其UIWebView的委托设置为正确的对象。如果您是在代码中设置的,请确保您正在与正确的web视图对话,即,您的插座与web视图连接(如果在nib或情节提要中),您正在加载nib或情节提要(如果在其中),并且您没有使用不同的web视图破坏插座的值(一个来自nib,然后一个在代码中创建,反之亦然)。

第一次绑定webview的ResourceDelegate和文件所有者

(void)webView:(WebView *)sender resource:(id)identifier didFinishLoadingFromDataSource:(WebDataSource *)dataSource

这将非常适合我。

-(void)webViewDidFinishLoad:(WebView*)WebView{NSLog(@“hello”);}未调用此方法。没有类似setDelegate的方法。在viewDidLoad中,放入
[mywebview setDelegate:self];
并用您的UIWebView名称替换
mywebview
。@Alberto:这只适用于UIWebView。WebView不响应
setDelegate:
@PeterHosey,您是对的。我正在cocoa应用程序中使用web视图。此委托方法在那里的工作方式
- (void)webViewDidFinishLoad:(WebView *)webView{ NSLog(@"hello");}
(void)webView:(WebView *)sender resource:(id)identifier didFinishLoadingFromDataSource:(WebDataSource *)dataSource