【问题标题】:Subscript range of [UInt8] - Swift[UInt8] 的下标范围 - Swift
【发布时间】:2017-02-10 03:59:27
【问题描述】:

所以我遇到的问题是我有一个在 init() 中有一个参数的对象,它需要一个 [UInt8]。我希望能够从另一个数组中获取一个范围并在 init 中使用它。见例子。

class Test {

    init(fromArray: [UInt8]) {
    // performs work
    }
}

let myStockArray: [UInt8] = [1,2,3,4,5,6,7,8] // reference array

let test = Test(fromArray: myStockArray[1...4]) // doesn't work

我怎样才能让它工作?我得到的错误是:无法使用“CountableClosedRange”类型的索引为“[UInt8]”类型的值下标

【问题讨论】:

    标签: swift subscript uint8array


    【解决方案1】:

    使用范围下标数组不会返回数组,这是主要问题。您正在尝试将ArraySlice<UInt8> 类型数据设置为具有内部[UInt8] 类型的构造函数。

    试试这个方法:

    class Test {
    
        init(fromArray: [UInt8]) {
            // performs work
        }
    }
    
    let myStockArray: [UInt8] = [1,2,3,4,5,6,7,8] // reference array
    
    let test = Test(fromArray: Array(myStockArray[1...4]))
    

    【讨论】:

    • 啊,就是这样。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多