0

I found this SO that gives an explanation of how to set local storage using javascript.

I'm trying to translate it from Swift to Objective-C. For some reason it's throwing a fit at me like I'm missing a bracket but I can't seem to figure it out. Any ideas how to correctly translate that Swift to iOS?

Here's what I have so far:

- (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();
                    }
            }
             }];
        }
    }];
}
Tom Hammond
  • 4,800
  • 7
  • 42
  • 76

1 Answers1

1

Indeed, you have an extra bracket in your code.

- (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();
                }
         }];
    }
}];
Anonymous
  • 26
  • 1