将Javascript数组传递到UILabel-iOS

将Javascript数组传递到UILabel-iOS,javascript,ios,arrays,xcode,webview,Javascript,Ios,Arrays,Xcode,Webview,我的应用程序中的本地HTML文件中有一个javascript数组: //js <script language="javascript"> test = ["First menu item","second menu item", "third menu item"]; </script> //js 测试=[“第一个菜单项”、“第二个菜单项”、“第三个菜单项”]; 我想把这个数组传递给iOS中的UILabel。我怎么能这样做呢 提前谢谢 我可以通过以下步骤做

我的应用程序中的本地HTML文件中有一个javascript数组:

//js

<script language="javascript">
    test = ["First menu item","second menu item", "third menu item"];
</script>
//js
测试=[“第一个菜单项”、“第二个菜单项”、“第三个菜单项”];
我想把这个数组传递给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>
    
    以下是NSLog将打印的内容:

    2013-08-20 23:48:29.578 YourProject3633:c07] (
        "First menu item",
        "second menu item",
        "third menu item"
    )
    
    编辑:

    要在标签(而不是UIPickerView)中显示数组内容,可以执行以下操作(未测试,但应该可以):

    或者简单地用逗号再次连接数组的字符串,如下所示:

    self.myLabel.text = [testArray componentsJoinedByString:@","];
    

    我不知道是否有人有更好的解决方案,这是我想到的第一件事。如果它对您有帮助,请告诉我。

    我可以通过以下步骤完成此操作:

  • 首先,将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>
    
    以下是NSLog将打印的内容:

    2013-08-20 23:48:29.578 YourProject3633:c07] (
        "First menu item",
        "second menu item",
        "third menu item"
    )
    
    编辑:

    要在标签(而不是UIPickerView)中显示数组内容,可以执行以下操作(未测试,但应该可以):

    或者简单地用逗号再次连接数组的字符串,如下所示:

    self.myLabel.text = [testArray componentsJoinedByString:@","];
    

    我不知道是否有人有更好的解决方案,这是我想到的第一件事。让我知道它是否对您有帮助。

    您看过JavaScriptCore框架吗?看过。但是我仍然需要帮助。你看过JavaScriptCore框架吗?看过。但是我仍然需要帮助。非常感谢,但是我在objective-c代码中括号后的第二行中发现了一个错误。使用未声明的标识符测试。头文件中的UIPicker应该是什么?很抱歉,我刚刚粘贴错了。这应该是javascript中的字符串。请再试一次。很抱歉,我只是不太熟悉使用选择器视图。如果我只是想在UILabel中显示我该怎么做,我会更新我的问题。伙计,我的答案都是关于“转换”objective-C数组中的javascript数组。执行
    NSLog
    后,您可以在控制台中看到正确安装的阵列。我留给你的UIPickerView部分非常基本。只需点击我发布的链接()。您只需通过我们的“testArray”更改他的“arrStatus”数组,其余的都一样。试一试,以后还有什么疑问可以问。很高兴再次提供帮助。祝你好运非常感谢,但在objective-c代码中括号后的第二行中出现了一个错误。使用未声明的标识符测试。头文件中的UIPicker应该是什么?很抱歉,我刚刚粘贴错了。这应该是javascript中的字符串。请再试一次。很抱歉,我只是不太熟悉使用选择器视图。如果我只是想在UILabel中显示我该怎么做,我会更新我的问题。伙计,我的答案都是关于“转换”objective-C数组中的javascript数组。执行
    NSLog
    后,您可以在控制台中看到正确安装的阵列。我留给你的UIPickerView部分非常基本。只需点击我发布的链接()。您只需通过我们的“testArray”更改他的“arrStatus”数组,其余的都一样。试一试,以后还有什么疑问可以问。很高兴再次提供帮助。祝你好运