添加值不包含在CFDictionary c ++中?

时间:2011-05-20 12:20:26

标签: iphone c++ objective-c++

我正在使用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
        {
        }

    }

请帮帮我。

1 个答案:

答案 0 :(得分:0)

我认为你在创建字典时需要pass some callbacks,否则字典的行为可能不是你所期望的。

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