繁体   English   中英

在NSData中存储C ++结构/对象

[英]Storing c++ structs/objects in NSData

我正在使用OpenCV开发iOS。 OpenCV是一个开源图像库,可与C ++一起使用。

我想将库中的某些数据存储在NSData对象中。 是否可以在不丢失对象的情况下将c ++结构转换为NSData?

- (void)addMat:(cv::Mat)mat andImageName:(NSString *)name {


self.myMat = [NSData dataWithBytes:&mat length:sizeof(mat)];
self.imageName = name;

}

现在,我正在使用上面的代码。 但是此NSData仅存储指针,而不存储实际数据。 当我尝试取回物件时

未分配释放的指针*在malloc_error_break中设置断点以进行调试

我的数据应存储在SqLite数据库中。

您有转换一切的想法吗?

我试图转换每个属性。 这对于某些属性非常有效,而对于其他属性则无效。

我希望你能帮助我。

谢谢。

问候,

亚历山大·海因里希

您可以从数据内部的对象写入字节,但不存储对象。 例如,对象可以具有指向其他对象的指针,并且在一段时间后它们可能变得无效,但是您的NSData副本将不知道这些。

您应该打开Objective-C ++并直接使用C ++结构/类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM