如何在swift中附加两个NSData变量?

时间:2016-09-03 08:38:04

标签: ios swift nsdata

我想附加两个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)
  

致命错误:在解包可选值时意外发现nil

3 个答案:

答案 0 :(得分:5)

您需要在添加messageData之前对其进行初始化。

var messageData = NSMutableData() //or var messageData : NSMutableData = NSMutableData()
messageData.appendData(actionIdData)
messageData.appendData(payLoad)

答案 1 :(得分:0)

Swift 4 Swift 5 兼容,您只能使用append的{​​{1}}功能来附加两个不同的数据。

样品用量

Data

答案 2 :(得分:0)

Swift 5的便捷扩展

extension Array where Element == Data {
   /**
    * Combines data
    * ## Examples:
    * [Data(),Data()].combined
    */
   var combined: Data {
      reduce(.init(), +)
   }
}