gpt4 book ai didi

swift - 将 NSMutableData 的一部分复制到新的 NSMutableData 对象

转载 作者:行者123 更新时间:2023-11-28 14:02:30 31 4
gpt4 key购买 nike

我正在将一个大文件读入 NSMutableData 对象。

var lBuffer : NSMutableData = try NSMutableData(contentsOfFile: pFilePath)

我想一次使用 NSMutableData 对象的一部分。所以我尝试使用 .subdata(with: NSRange),但出现错误。

var lBufferChunk : NSMutableData = lBuffer.subdata(with: NSRange(location: 0, length: lSizeOfChunk)) as! NSMutableData

我得到的错误是:
无法将类型“NSSubrangeData”(0x7fffa6ea3ef8)的值转换为“NSMutableData”(0x7fffa6a403f8)

根据文档,.subdata(with: NSRange) 应该返回一个数据对象。

我怎样才能将它获取到一个数据对象以将其转换回 NSMutableData?或者是否有更好的方法从大型 NSMutableData 中获取部分/片段?

最佳答案

如果你真的想要,你可以将调用 lBuffer.subdata 的结果转换为 NSData,然后调用 mutableCopy() 并将结果强制转换为 NSMutableData .但是不要!一开始甚至不要使用 NSData 或 NSMutableData。这是 swift 。使用数据。

var lBuffer = Data(contentsOf: myFileURL)

现在只需调用 subdata(in:)

var lBufferChunk = lBuffer.subdata(in: myRange)

或下标

var lBufferChunk = lBuffer[myRange]

var 使其可变。

关于swift - 将 NSMutableData 的一部分复制到新的 NSMutableData 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53404392/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com