0

我正在尝试从 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 没有问题。从 handle.readData 返回的 NSData 对象有什么不同吗?

谢谢!

4

0 回答 0