add Value 不包含在 CFDictionary c++ 中

add Value is not contains in CFDictionary c++?

本文关键字:CFDictionary c++ 包含 Value add      更新时间:2023-10-16

我正在使用CFDictionary进行维护列表。我在添加值后添加了一些带有值的键,检查添加的键是否包含在字典中,它返回 true。但是如果我尝试获取值,则返回 null。如何查看我错过了哪里?

 //Create Dictionary
    CFMutableDictionaryRef fileInfo = CFDictionaryCreateMutable(NULL,0,NULL,NULL);
    //add Value 
    CFDictionaryAddValue(fileInfo, CFSTR("filename"),getstring((uint8_t*)buffer,&offset));
    int size = CFDictionaryGetCount(fileInfo);
    //Return 1;
    if(CFDictionaryContainsKey(fileInfo,CFSTR("filename"))) // return true
    {
       const void* filename =  CFDictionaryGetValue(fileInfo, CFSTR("filename"));
        if(filename ) // return null
        {
        }
    }

请帮助我。

我认为您在创建字典时需要传递一些回调,否则字典的行为可能不是您所期望的。

此外,请确保getstring()不返回 NULL。