2016-10-01 4 views
1

그래서 내가 가지고있는 문제는 init()에 [UInt8]이 필요한 인수가있는 개체가 있다는 것입니다. 다른 배열의 범위를 잡고 init에서 사용할 수 있기를 원합니다. 예제를 참조하십시오.[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: myStockArray[1...4]) // doesn't work 

어떻게 작동합니까? 내가 얻는 오류는 다음과 같습니다. '[UInt8]'유형의 값을 'CountableClosedRange'유형의 인덱스로 첨첨할 수 없습니다.

답변

3

범위가있는 배열에 첨자를 붙이면 배열을 반환하지 않으며 이것이 주요 문제입니다. 형식이 [UInt8] 인 생성자에 ArraySlice<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