【问题标题】:Swift: ArraySlice<Array<String>> to [[String]]Swift:ArraySlice<Array<String>> 到 [[String]]
【发布时间】:2021-05-27 07:34:25
【问题描述】:

我有一个 [[String]] 类型的数组,我正在尝试将前 4 个元素从数组移动到另一个数组。

例如:

var arr1: [[String]] = [["1", "2", "3"], ["2", "3", "4"], ["3", "4", "5"], ["1", "2", "3"], ["2", "3", "4"], ["3", "4", "5"]]
var arr2: [[String]] = arr1[0...3]

但我说Cannot convert value of type 'Array&lt;[String]&gt;.SubSequence' (aka 'ArraySlice&lt;Array&lt;String&gt;&gt;') to specified type '[[String]]'时出错

我需要的输出是arr1 包含[["2", "3", "4"], ["3", "4", "5"]] 和arr2 包含[["1", "2", "3"], ["2", "3", "4"], ["3", "4", "5"], ["1", "2", "3"]]

【问题讨论】:

    标签: ios arrays swift


    【解决方案1】:

    您必须从切片(重新)创建一个Array

    let arr2 = Array(arr1[0...3])
    

    旁注:不必对编译器可以推断的类型进行注释。
    在这种情况下,如果下一步接受切片,则无需创建数组即可继续操作。

    【讨论】:

      【解决方案2】:

      先初始化数组

      var arr2: [[String]] = [[String]]()
      

      然后你可以使用'append'将元素添加到你的数组中

      arr2.append(contentsOf: arr1[0...3])
      

      【讨论】:

        猜你喜欢
        • 2019-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-30
        • 1970-01-01
        • 2022-07-22
        • 2019-03-22
        • 2011-10-03
        相关资源
        最近更新 更多