NSMutableDictionary,其中两个键指向同一个对象,导致“双重释放”异常

时间:2013-06-07 00:24:26

标签: ios exception malloc nsmutabledictionary

所以我试图用一个对象创建一个字典,每个对象都有两个指向它们的键。我写了这个块来设置对象:

ALAssetsGroupEnumerationResultsBlock resultsBlock = ^(ALAsset *result, NSUInteger index, BOOL *stop)
    {
        if(result)
        {
            NSIndexPath *path = [NSIndexPath indexPathWithGroupIndex:groupIndex andAssetIndex:index];

            [assetsDictionary setObject:result forKey:path];
            [assetsDictionary setObject:result forKey:result.defaultRepresentation.url];
        }
    };

这导致了这个异常:

  对象0x1f8c1200的

malloc: * 错误:未分配的指针被释放

有关如何解决此问题的任何想法,或以这种方式实现字典的更好方法?

1 个答案:

答案 0 :(得分:2)

我明白了,这根本不是我的想法。问题是由于同时在不同的线程上改变字典的内容