У меня проблема при использовании 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?
Спасибо