2016-10-01 69 views
1

所以我遇到的問題是我有一個init()中需要[UInt8]參數的對象。我希望能夠從另一個數組中獲取一個範圍並在init中使用它。看例子。[UInt8]的下標範圍 - Swift

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]'

回答

3

使用範圍下標數組不會返回數組,這是主要問題。您正嘗試將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])) 
+0

嗯,就是這樣。謝謝! – JoeBayLD