【发布时间】:2011-08-13 15:30:52
【问题描述】:
我一直在做一个使用 C 库的项目,我的项目需要在 coredata 中存储一些 c 结构。如何通过不将其转换为目标 c 对象来做到这一点。
我想存储一个 Opencv 结构(CvMat*)。
/* binding stuff example*/
CvMat *mat = cvCreateMat(3, 3, CV_32FC1);
// fill the matrix..
human.projVal = [NSData dataWithBytes:mat length:sizeof(mat)];
// then store it in core data
..
/* retrieving stuff */
..
NSData *data = [[humansArray objectAtIndex:0] projVal];
CvMat *mat = (CvMat *)[data bytes];
NSLog(@"cols =>> %i rows =>> %i",mat->cols,mat->rows);
for (int i=0; i<9; i++) {
NSLog(@"%f",mat->data.fl[i]);
}
当我尝试从 coredata 检索 cvMat 结构时,我得到奇怪的 cols 和 rows 值以及数据值。我不明白是什么问题。
提前谢谢..
【问题讨论】: