我的应用程序的本地 HTML 文件中有一个 javascript 数组:
//js
<script language="javascript">
test = ["First menu item","second menu item", "third menu item"];
</script>
我想将此数组传递给 iOS 中的 UILabel。我怎么能这样做呢?
提前致谢!
我的应用程序的本地 HTML 文件中有一个 javascript 数组:
//js
<script language="javascript">
test = ["First menu item","second menu item", "third menu item"];
</script>
我想将此数组传递给 iOS 中的 UILabel。我怎么能这样做呢?
提前致谢!
我可以通过以下步骤做到这一点:
首先,使用该方法将您的 javascript 字符串数组转换为一个字符串join()
二、使用webview的方法
stringByEvaluatingJavaScriptFromString:
获取上面的字符串
最后,使用 NSString 的方法componentsSeparatedByString:
将字符串转换为 iOS 字符串数组。
现在,您只需将此数组用作 UIPickerView 的数据源。您可以在此处查看如何执行此操作。
这是代码的样子:
你的JavaScript:
<script language="javascript">
var test = ["First menu item","second menu item", "third menu item"];
var testString = test.join('#');
</script>
您的目标 C 代码:
NSString *testArrayString = [webView stringByEvaluatingJavaScriptFromString:@"testString"];
NSArray *testArray = [testArrayString componentsSeparatedByString:@"#"];
NSLog(@"%@", testArray);
这是 NSLog 将打印的内容:
2013-08-20 23:48:29.578 YourProject3633:c07] (
"First menu item",
"second menu item",
"third menu item"
)
编辑:
要在标签中显示数组内容,而不是 UIPickerView,您可以执行以下操作(未经测试,但应该可以):
self.myLabel.text = [NSString stringWithFormat:%@, testArray];
或者只是用逗号再次加入数组的字符串,如下所示:
self.myLabel.text = [testArray componentsJoinedByString:@","];
我不知道是否有人有更好的解决方案,这是我想到的第一件事。让我知道它是否对您有帮助。