Objective c CFDictionaryValue回调是否保留/释放?
是否有一个常量retain回调可用于泛型Objective c CFDictionaryValue回调是否保留/释放?,objective-c,core-foundation,Objective C,Core Foundation,是否有一个常量retain回调可用于泛型id/NSObjects?有kCFTypeDictionaryValueCallBacks,但它们只用于“CFType派生对象”。我不相信NSObjects是CFTypes,所以我写了以下内容: const void *valueRetainCallBack(CFAllocatorRef allocator, const void *ptr) { id o = (id)ptr; [o retain]; return o; } v
id
/NSObject
s?有kCFTypeDictionaryValueCallBacks
,但它们只用于“CFType派生对象”。我不相信NSObjects是CFTypes,所以我写了以下内容:
const void *valueRetainCallBack(CFAllocatorRef allocator, const void *ptr)
{
id o = (id)ptr;
[o retain];
return o;
}
void valueReleaseCallBack(CFAllocatorRef allocator, const void *ptr)
{
id o = (id)ptr;
[o release];
}
但也许有更简单的方法
是否有一个常量retain回调可用于通用id/NSObjects?有kCFTypeDictionaryValueCallBacks
但它们只适用于“CFType派生对象”。我不相信NSObject是CFType
它们没有被记录为完全桥接,而是用于内存管理(保留和释放)。实际上,CFType和NSObject共有的所有函数,包括description
/CFCopyDescription
,都可以工作