ios - 如何将这几种不同的值类型组合到 NSData 中呢?

标签 ios swift nsdata multipeer-connectivity

我需要使用 MultipeerConnectivity 将图像和一些字符串数组发送到另一台设备。在接收端,API是func session(session: MCSession, didReceiveData data: NSData, fromPeer peerID: MCPeerID),它只接收NSData数据。但我需要发送这样的东西:

struct data{
var imageData:NSData?
var location:[String:String]?
var information:[String]?
var sliderInfo:[String]?
var questionsAndAnswer:[String:String]?
var secrets: String?
var tempts: Int?

}

dataStructure 内部有许多不同的值类型,但是如何将此自定义数据结构转换为 NSData,然后在接收器端对其进行解码?我在这个项目中使用 Swift。

最佳答案

如果你把它做成一个采用 NSCoding 的 NSObject 子类,你会过得更轻松。 NSCoding 和 NSKeyedArchiver 是将任意数据序列化为 NSData 并稍后检索任意数据的方式。

关于ios - 如何将这几种不同的值类型组合到 NSData 中呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38557819/

相关文章:

Android 应用到应用通信

objective-c - GameKit/互联网上的点对点

ios - 地理编码 : Transform NSArray to NSString

ios - 即使有预加载,SpriteKit 加载纹理的首次时间延迟

swift - Rx swift : how to get rid of callback hells of subscribe events and network request?

ios - 如何使用 FileManager 在 iOS 中写入文件?

objective-c - 如何在不先创建二进制文件的情况下将NSData加载到UIWebView

android - 制作我的 Ionic AngularJS 程序的 iOS 应用程序

objective-c - Objective-C中的实例消息错误,这是什么意思?为什么会这样呢?

ios - 将图像存储到 CoreData - Swift