C++ 存储c++;NSData中的结构/对象

C++ 存储c++;NSData中的结构/对象,c++,objective-c,opencv,nsdata,mat,C++,Objective C,Opencv,Nsdata,Mat,我正在用OpenCV开发一个iOS。 OpenCV是一个开源的图像库,用C++来工作。p> 我想将库中的一些数据存储在NSData对象中。 是否可以将C++结构转换成NSDATA而不丢失对象? - (void)addMat:(cv::Mat)mat andImageName:(NSString *)name { self.myMat = [NSData dataWithBytes:&mat length:sizeof(mat)]; self.imageName = name; }

我正在用OpenCV开发一个iOS。 OpenCV是一个开源的图像库,用C++来工作。p> 我想将库中的一些数据存储在NSData对象中。 是否可以将C++结构转换成NSDATA而不丢失对象?
- (void)addMat:(cv::Mat)mat andImageName:(NSString *)name {


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

现在我正在使用上面的代码。 但是这个NSData只存储指针,而不是实际数据。 当我试图取回物体时,我

未分配要释放的指针 *在malloc\u error\u break中设置断点以进行调试

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

你有什么想法可以改变一切吗

我试着转换每一处房产。这对某些属性非常有效,而对其他属性则不起作用

我希望你能帮助我

多谢各位

您好


Alexander Heinrich

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


你应该打开ObjuleC++并直接使用C++结构/类。

看起来不错,你如何试图得到结构?CV::垫垫;[self.myMat getBytes:&mat length:sizeof(mat)];返回垫;正如CY-4AH所说的指针丢失了。我在Objject C++中工作,是否可以用其他方式存储C++结构?不放松pointers@Sn0wfreeze,需要存储对象的原因和位置?为什么不能只使用OpenCV中的类型?