我试图从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对象有什么不同吗?
谢谢!