Этот
var buffer = [UInt8](
unsafeUninitializedCapacity: data.length,
initializingWith: {_,_ in}
)
ничего не делает, потому что замыкание ничего не делает (оно должно инициализировать хранилище элементов, на которое указывает первый аргумент замыкания, а затем установить второй аргумент замыкания initializedCount
). И это
data.getBytes(&buffer, length: data.length)
ничего не делает, потому что buffer
пусто.
Сказав это, вы можете просто прочитать файл в Data
с помощью
let data = try NSData(contentsOfFile: path) as Data
// or better:
let data = try Data(contentsOf: URL(fileURLWithPath: path))
и затем работайте со значением Data
. Если вам действительно нужно скопировать данные в массив, вы можете сделать это с помощью
let byteArray = Array(data)