Ios 是否可以将C结构打包到Cocoa中的NSKeyedArchiver中?

Ios 是否可以将C结构打包到Cocoa中的NSKeyedArchiver中?,ios,cocoa-touch,udp,nskeyedarchiver,Ios,Cocoa Touch,Udp,Nskeyedarchiver,我正在编写一个iOS应用程序,它需要通过UDP套接字以非常有效的方式与python应用程序通信 在中间,我有一个“你好”服务,它是我的iOS应用程序和主机python应用程序通信的桥梁 我正在构建自己的协议,它是一个简单的C结构。我已经将字符串打包到NSKeyedArchiver实体中的代码,这些实体将依次打包到NSData中并发送。在另一边,有一只纽卡斯尔犬 问题是它无法理解我发送的C结构。有没有办法将C结构放入NSKeyedArchiver中?我应该如何修改中间服务以删除此项?是的,这是可能

我正在编写一个iOS应用程序,它需要通过UDP套接字以非常有效的方式与python应用程序通信

在中间,我有一个“你好”服务,它是我的iOS应用程序和主机python应用程序通信的桥梁

我正在构建自己的协议,它是一个简单的C结构。我已经将字符串打包到NSKeyedArchiver实体中的代码,这些实体将依次打包到NSData中并发送。在另一边,有一只纽卡斯尔犬

问题是它无法理解我发送的C结构。有没有办法将C结构放入NSKeyedArchiver中?我应该如何修改中间服务以删除此项?

是的,这是可能的


阅读,这里用示例解释了所有内容,包括本例,尤其是部分:)

而不是使用NSData-如果结构包含简单的数据项,而不是对象指针,则可以使用NSValue

NSValue valueFromStruct = [[NSValue value:&aStruct withObjCType:@encode(YourStructType)] retain];

由于NSValue符合NSCoding协议,您可以使用想要使用的方法。

-[NSKeyedArchiver EncodeValueOfObjectType:at:]:此archiver无法对结构进行编码。我在创建NSValue时遇到此异常