在 Swift 中将 NSMutableData 转换为 NSData

Convert NSMutableData to NSData in Swift

我有一个返回 NSMutableData 的方法。我需要将此 NSMutableData 传递给另一个方法,但该方法只需要 NSData。我试图找到任何 method/solution 将 NSMutableData 转换为 NSdata。但是还是不行。

在Objective C中可以这样做 NSData *immutableData = [NSData dataWithData:mutableData];

我不确定如何在 Swift 中完成?有人可以帮助我吗?

只需将 NSMutableData 传递给需要 NSData 的任何方法。因为它是一个子类,所以它会很好地工作。

但是如果你真的想做转换,只需做 (Swift 3):

let data = someNSMutableDataVariable.copy() as! NSData

let data = NSData(data: someNSMutableDataVariable as Data)

更新您的代码以使用 Data 而不是 NSMutableDataNSData 可能有意义。就像使用 String 而不是 NSStringNSMutableString.