将Javascript变量传递给Objective-C

win*_*toy 5 javascript variables objective-c

我已经看到如何在这里将Objective-C变量传递给JavaScript,将目标c变量传递给ios中的javascript,但是当我使用这样的东西时,如何将变量从JavaScript传递给Objective-C:

[webView stringByEvaluatingJavaScriptFromString:@"var elems = document.body.getElementsByTagName(\"u\");" "passThisVarToObjC = elems.length;"

Jac*_*kin 12

好吧,这就是我们所说的字符串输入.

因为返回类型stringByEvaluatingJavaScriptFromString:NSString *,您将需要坚持使用字符串或将值强制转换为其他(读取:更可用)类型.

但无论如何,stringByEvaluatingJavaScriptFromString:将返回一个JavaScript变量的值没有问题.

这样做的方法是使用匿名函数(在这种情况下是自动执行):

NSString *numOfElements = [webView stringByEvaluatingJavaScriptFromString:@"(function() {var elems = document.body.getElementsByTagName(\"u\"); return elems.length;})();"];

//do normal stuff with numOfElements like cast to an int or something cool like that.
Run Code Online (Sandbox Code Playgroud)