我发现this SO解释了如何使用javascript设置本地存储。
我正在尝试将其从Swift转换为Objective-C。出于某种原因,它对我不利,就像我错过了一个支架,但我似乎无法弄明白。任何想法如何正确地将Swift转换为iOS?
这是我到目前为止所拥有的:
- (void)webView:(WKWebView *)webView
didFinishNavigation:(WKNavigation *)navigation {
[webView evaluateJavaScript:@"localStorage.getItem(\"key\")" completionHandler:^(id result, NSError *error) {
if (error == nil) {
[webView evaluateJavaScript:@"localStorage.setItem(\"key\", \"value\")" completionHandler:^(id result, NSError *error) {
if (error == nil) {
webView.reload();
}
}
}];
}
}];
}
答案 0 :(得分:1)
的确,您的代码中还有一个额外的括号。
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
[webView evaluateJavaScript:@"localStorage.getItem(\"key\")" completionHandler:^(id result, NSError *error) {
if (error == nil) {
[webView evaluateJavaScript:@"localStorage.setItem(\"key\", \"value\")" completionHandler:^(id result, NSError *error) {
if (error == nil) {
webView.reload();
}
}];
}
}];