Php Swift 2-字符串到数组[字符串]

Php Swift 2-字符串到数组[字符串],php,arrays,string,swift2,Php,Arrays,String,Swift2,从一个php我请求一次响应。响应应该是数组[String],但是swift将此响应视为字符串 如何将字符串转换为[字符串] PHP: SWIFT 2.0: let infoArray = responseValue // Reads ["aaa","bbb","ccc","ddd"] print(infoArray[1]) // error: Ambiguous use of 'subscript' 为什么Swift将数组视为字符串?如何将其转换为

从一个php我请求一次响应。响应应该是数组[String],但是swift将此响应视为字符串

如何将字符串转换为[字符串]

PHP:

SWIFT 2.0:

    let infoArray = responseValue
        // Reads ["aaa","bbb","ccc","ddd"]

     print(infoArray[1])
     // error: Ambiguous use of 'subscript'
为什么Swift将数组视为字符串?如何将其转换为数组[字符串]

我也尝试过:

let infoArray = responseValue as! [String]
//warning: Cast from 'String' to unrelated type '[String]' always fails

好吧,考虑到它是一个字符串数组,而不是原语,也许可以工作,如下所示:

更新了以下@Eric D.评论:

如果responseValue为[String],则:

let infoArray:[String] = responseValue.map { $0.copy() as! String }
如果responseValue为字符串,则:

let infoArray = Array(responseValue.characters)

另一个建议是迭代responseValue并将每个元素附加到一个新的字符串数组中。但是性能可能是个问题。

这个返回来自一个PHP文件,对吗?Swift将以字符串形式返回,您应该使用Swift的JSON插件来处理此信息。e、 我肯定你的infoArray实际上不是字符串数组,它只是你从php后端收到的原始字符串值。你需要解析它。您可以按照@Felipe Umpierre的建议使用快速JSON。我得到的是“.responseString”。responceJSON“这不是Nate所说的,他的副本示例是针对NSMutableArray的。这并不是对OP问题的回答。谢谢@EricD的反馈。也许我误解了。想详细说明吗?没问题。copy用于复制引用数组,如NSArray。这里OP有一个Swift数组值,而不是reference。所以你的答案可能是错误的,但它也不是OP问题的答案,这就是为什么斯威夫特将数组视为字符串?如何将其转换为数组[字符串]:我听到了。数组是Swift中的结构。但是我更新的代码不会编译并生成一个[字符串]吗。。。重点是什么?如果responseValue已经是一个字符串数组,那么您的代码只会增加开销而不做任何更改,如果它不是数组而是字符串,那么您的代码不会编译,也不会有任何帮助。所以对不起,你的回答还是错的/
let infoArray:[String] = responseValue.map { $0.copy() as! String }
let infoArray = Array(responseValue.characters)