如何在 swift 中附加两个 NSData 变量?
How to append two NSData variable in swift?
我想追加两个NSData:
var actionIdData :NSData = NSData(bytes: &actionId, length: 2)
var payLoad : NSData = NSData(bytes: &message, length: 9)
var messageData : NSMutableData!
messageData.appendData(actionIdData)
messageData.appendData(actionIdData)
fatal error: unexpectedly found nil while unwrapping an Optional value
您需要先初始化 messageData
,然后再附加到它。
var messageData = NSMutableData() //or var messageData : NSMutableData = NSMutableData()
messageData.appendData(actionIdData)
messageData.appendData(payLoad)
兼容 Swift 4 和 Swift 5 你只能使用 append
Data
的函数附加两个不同的数据。
示例用法
guard var data1 = "data1".data(using: .utf8), let data2 = "data2".data(using: .utf8) else {
return
}
data1.append(data2)
// data1 is now combination of data1 and data2
Swift 5
的方便扩展
extension Array where Element == Data {
/**
* Combines data
* ## Examples:
* [Data(),Data()].combined
*/
var combined: Data {
reduce(.init(), +)
}
}
我想追加两个NSData:
var actionIdData :NSData = NSData(bytes: &actionId, length: 2)
var payLoad : NSData = NSData(bytes: &message, length: 9)
var messageData : NSMutableData!
messageData.appendData(actionIdData)
messageData.appendData(actionIdData)
fatal error: unexpectedly found nil while unwrapping an Optional value
您需要先初始化 messageData
,然后再附加到它。
var messageData = NSMutableData() //or var messageData : NSMutableData = NSMutableData()
messageData.appendData(actionIdData)
messageData.appendData(payLoad)
兼容 Swift 4 和 Swift 5 你只能使用 append
Data
的函数附加两个不同的数据。
示例用法
guard var data1 = "data1".data(using: .utf8), let data2 = "data2".data(using: .utf8) else {
return
}
data1.append(data2)
// data1 is now combination of data1 and data2
Swift 5
的方便扩展extension Array where Element == Data {
/**
* Combines data
* ## Examples:
* [Data(),Data()].combined
*/
var combined: Data {
reduce(.init(), +)
}
}