结合上面所说的, 我们可以让指针 p 对 objc 进行引用即 retain 操作, 修改如下:
void *p;
{
NSObject *objc = [[NSObject alloc] init];
//p = (__bridge void*)objc;
p = (__bridge_retained void*)objc;
}
NSLog(@"mark: %@", (__bridge NSObject*)p);
// 一定要释放
CFRelease(p);
可以正常的运行. 还可以修改为另一种方式:
void *p;
{
NSObject *objc = [[NSObject alloc] init];
//p = (__bridge void*)objc;
//p = (__bridge_retained void*)objc;
p = (void *)CFBridgingRetain(objc);
}
NSLog(@"mark: %@", (__bridge NSObject*)p);
// 一定要释放
CFRelease(p);
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ASPKU的支持。
注:相关教程知识阅读请移步到C++教程频道。










