我需要在 void* 指针中的 C 结构中保留一个 Objective C 对象。该结构是在外部库中定义的,我无法更改定义。
假设它被定义为:
struct c_context {
void* user_data;
};
我需要在我的代码中做的是:
struct c_context *context;
...
context->user_data = [[MYObjCClass alloc] init];
但是,我需要确保该MYObjCClass
对象将被保留。
所以我的问题是:
- 如何强制转换(或桥接)它以
void*
告诉编译器保留 obj-c 对象? - 当我需要清理数据时,如何释放对象?