Ios 如何正确实现didFinishNavigation

Ios 如何正确实现didFinishNavigation,ios,objective-c,Ios,Objective C,我试图在didFinishNavigation上实现一段代码,该代码在webview中调用js函数。但我似乎没有正确地实施这一点 #import "DummyWebView.h" #import "DummyOptions.h" #import <WebKit/WebKit.h> @implementation DummyWebView - (void)viewDidLoad { [super viewDidLoad]; CGRect screen = [[U

我试图在didFinishNavigation上实现一段代码,该代码在webview中调用js函数。但我似乎没有正确地实施这一点

#import "DummyWebView.h"
#import "DummyOptions.h"
#import <WebKit/WebKit.h>


@implementation DummyWebView


- (void)viewDidLoad {
    [super viewDidLoad];
    CGRect screen = [[UIScreen mainScreen] bounds];
    WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(screen), CGRectGetHeight(screen))];
    NSString *urlString = @"https://5e9dad3079f67.htmlsave.net";
    NSURL *url = [NSURL URLWithString:urlString];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [webView loadRequest:request];
    [self.view addSubview:webView];
}

-(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
    NSString *json = [NSString stringWithFormat:@"%s %s %s %s %s %s", "{", "\"status\" :",  "\"", "bassey", "\"","}"];

NSString *function = [NSString stringWithFormat:@"%s %@ %s", "test('", json, "')"];

[webView evaluateJavaScript:function completionHandler:^(NSString *result, NSError *error)
{
    NSLog(@"Error %@",error);
    NSLog(@"Result %@",result);
}];
}

- (void)viewDidAppear:(BOOL)animated{
    NSLog(@"viewDidAppear loaded successfully");
}

@end
#导入“DummyWebView.h”
#导入“DummyOptions.h”
#进口
@MyWebView的实现
-(无效)viewDidLoad{
[超级视图下载];
CGRect屏幕=[[UIScreen mainScreen]边界];
WKWebView*webView=[[WKWebView alloc]initWithFrame:CGRectMake(0,0,CGRectGetWidth(屏幕),CGRectGetHeight(屏幕));
NSString*urlString=@”https://5e9dad3079f67.htmlsave.net";
NSURL*url=[NSURL URLWithString:urlString];
NSURLRequest*request=[nsurlRequestRequestWithURL:url];
[webView加载请求:请求];
[self.view addSubview:webView];
}
-(无效)网络视图:(WKWebView*)网络视图完成导航:(WKNavigation*)导航{
NSString*json=[NSString stringWithFormat:@“%s%s%s%s%s”、“{”、“状态\:”、“\”、“bassey”、“\”、“\”、“}”];
NSString*函数=[NSString stringWithFormat:@“%s%@%s”,“测试(”,json“)”];
[webView evaluateJavaScript:函数完成处理程序:^(NSString*结果,NSError*错误)
{
NSLog(@“错误%@”,错误);
NSLog(@“结果%@”,结果);
}];
}
-(无效)视图显示:(BOOL)动画{
NSLog(@“ViewDid显示已成功加载”);
}
@结束

请问我做错了什么?

我刚刚把它修好了。回到Objective-C有点精神创伤

在头文件中:

#import <UIKit/UIKit.h>
#import <WebKit/WebKit.h>

@interface ViewController : UIViewController <WKNavigationDelegate>


@end
设置委托后,它现在将调用函数:


您是否在某处看到了
WKNavigationDelegate
?否则,它无法调用
didFinishNavigation
函数。@CodeBender如何调用WKNavigationDelegate?
WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(screen), CGRectGetHeight(screen))];
webView.navigationDelegate = self;