Читайте Int из NSData в Swift - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь прочитать данные из большого файла в Swift - я не хочу, чтобы весь файл считывался в объект NSData, что, как представляется, Swift хочет сделать все.

Я нашел код для открытия файла с помощью FileHandle и чтения фрагментов данных в объекты NSData. Но я не могу понять, как преобразовать данные в правильный формат. Все, что я видел в Интернете, говорит, что это должно работать для преобразования фрагмента NSData в Int:

 let dataSize = MemoryLayout<Int>.size
 let data = handle.readData(ofLength: dataSize)
 if data.count < dataSize { throw CocoaError(.fileReadCorruptFile) }

 var i:Int = 0
 data.getBytes(&i, length: dataSize) 

Но это не скомпилируется. Это говорит

'&' used with non-inout argument of type 'Int'.  

Я не понимаю, почему это так говорит. Я использую data.getBytes в других частях моего проекта таким же образом без проблем. Есть ли что-то другое в объекте NSData, возвращенном из handle.readData?

Спасибо!

...