스위프트 3에서 반 개방 범위 연산자 ..<
을 Data.subdata(in:)에 사용할 수 있지만 폐쇄 범위 연산자 ...
을 사용할 수없는 이유가 궁금합니다.Data.subData에서 범위 연산자 사용
나는 모든 곳에서 검색 한하지만 나에게이 오류주는 이유를 이해할 수 없다 : 아니오 '...'후보가 예상되는 상황에 맞는 결과 유형 '범위'(일명 '범위')를 생산
여기에 작동 하나 모두의 예와 일하지 않습니다 :
import Foundation
let x = Data(bytes: [0x0, 0x1])
let y : UInt8 = x.subdata(in: 0..<2).withUnsafeBytes{$0.pointee}
let z : UInt8 = x.subdata(in: 0...1).withUnsafeBytes{$0.pointee} // This fails
감사합니다!
귀하의 댓글이 새로운 검색에 저를지도하고 지금은 이해하고이를 읽은 후 : https://oleb.net/blog/2016/09/swift- 3-ranges /. 답을 쓰고 싶다면 기꺼이 받아 들일 것입니다. 나는 Swift와 함께 아직도 약간 녹색이다. 그래서 그들은 명백하게 나에게 뛰어 내리지 않는다! 두 연산자가 다른 종류의 "범위"를 반환했음을 알지 못했습니다. – droussel
답변을 추가했습니다. :) – Hamish