NSData getBytes (длина) - PullRequest
       13

NSData getBytes (длина)

0 голосов
/ 06 июня 2018

У меня проблема при использовании getBytes для объекта NSData.Это код:

if let blobBase64DecodedData = blob.base64DecodedData() {
    var URILength: UInt8 = 0
    if blobBase64DecodedData.count > 0 {

        let uriLengthRange: Range<Int> = 1..<3
        let testData =  (blobBase64DecodedData.subdata(in: uriLengthRange) as NSData)
        (blobBase64DecodedData.subdata(in: uriLengthRange) as NSData).getBytes(&URILength, length: MemoryLayout<UInt8>.size)
        let uriDataRange: Range<Int> = 2..<(2+Int(URILength))
        let sURIData = blobBase64DecodedData.subdata(in: uriDataRange) <—CRASH HERE

        // further processing
    }
}

Проблема в том, что значение uriDataRange больше, чем в объекте blobBase64DecodedData.Поэтому я считаю, что есть проблема с getBytes, где URILenght присваивается значение.Кто-нибудь знает в чем проблема?Что именно делает GetBytes?

Спасибо

...