我的应用中的本地HTML文件中有一个javascript数组:
//js
<script language="javascript">
test = ["First menu item","second menu item", "third menu item"];
</script>
我希望将此数组传递给iOS中的UILabel。我怎么能这样做?
提前致谢!
答案 0 :(得分:1)
我能够通过以下步骤完成此操作:
首先,只需一个变换你的javascript字符串数组
使用方法join()
其次,使用webview的方法
stringByEvaluatingJavaScriptFromString:
获取上面的字符串
最后,使用NSString的方法componentsSeparatedByString:
转换iOS字符串数组中的字符串。
现在,您只需将此数组用作UIPickerView的数据源。您可以看到如何执行此操作here。
这是代码的样子:
你的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:@","];
我不知道是否有人有更好的解决方案,这是我想到的第一件事。如果它对你有所帮助,请告诉我。