如何在NSData中打包struct?

Mat*_*age 7 objective-c nsdata

可能重复:
通过GameKit发送和接收NSData

我有struct由int变量和2个浮点指针(数组)组成.我如何打包这个结构ib NSData,然后解压缩它?

ale*_*oot 10

您可以使用dataWithBytes方法打包结构pf NSData:

struct aStruct {
/* Implementation */
};

//Struct variable 
aStruct exampleStruct;

// pack the struct into an NSData Object
NSData *myData = [NSData dataWithBytes:&exampleStruct length:sizeof(exampleStruct)];

// get back the the struct from the object
[myData getBytes:&exampleStruct length:sizeof(exampleStruct)];
Run Code Online (Sandbox Code Playgroud)

  • @ValentinKhrulkov如果这些结构表示需要在正在运行的应用程序的上下文之外进行序列化和持久化的数据,那么我认为它不适合你在其中有指针. (2认同)