将C 结构/对象存储在NSDATA中

Storing c++ structs/objects in NSData

本文关键字:NSDATA 存储 对象 结构      更新时间:2023-10-16

我正在使用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数据库中。

您有一个想法转换一切吗?

我尝试转换每个属性。这对某些属性非常有效,而对于另一些物业来说,这是不起作用的。

希望您能帮助我。

谢谢。

问候,

亚历山大·海因里希(Alexander Heinrich)

您可以从数据内的对象中编写字节,但是它不存储对象。例如,对象可以在其他对象上有指针,并且一段时间后它们可能会变得无效,但是您的NSDATA副本对此不知道。

您应该打开Objective-C 并与C 结构/类直接工作。