代码之家  ›  专栏  ›  技术社区  ›  Morrowless

cfDictionaryValue回调保留/释放?

  •  1
  • Morrowless  · 技术社区  · 14 年前

    id / NSObject 什么?有 kCFTypeDictionaryValueCallBacks 但它们只适用于“CFType派生对象”。我不相信NSObjects是CFType,所以我写了这些:

    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];
    }
    

    1 回复  |  直到 14 年前
        1
  •  3
  •   Peter Hosey    14 年前

    是否有一个常量retain回调可以用于泛型id/NSObjects?有 kCFTypeDictionaryValueCallBacks 但它们只适用于“CFType派生对象”。我不相信NSObjects是CFType

    它们没有被记录为完全桥接,而是用于内存管理(保留和释放), that's documented to work description / CFCopyDescription ,工作也一样。