快速将多个项目添加到UICollectionView失败

Gui*_*iks 5 cocoa-touch ios6 uicollectionview

我已经UICollectionView使用核心数据设置了一个获取的结果控制器.我UIImagePickerController用来添加项目UICollectionView.现在,当我点击存储在我的设备上的其中一张照片时,它将被添加到我的托管对象上下文中,并将被插入到UICollectionView.

现在,当我快速添加多个项目时,应用程序崩溃并出现以下错误:

2012-10-07 13:17:46.770 PhotoLibrary[2444:907] *** Assertion failure in -[UICollectionView _endItemAnimations], /SourceCache/UIKit/UIKit-2372/UICollectionView.m:2801
Run Code Online (Sandbox Code Playgroud)

它似乎无法处理添加项目,而前一个添加项目的动画尚未结束.只是当您快速添加它们时会发生,但有些用户会这样做.

是否有一个很好的方法来等待并在另一个完成后添加项目?用户应该能够"实时"添加它们,所以我不能一次运行所有更改.

Gui*_*iks 2

该错误仅在快速添加一些项目时发生。但真正的问题与动画无关。我正在创建用于将新项目存储在块中的托管对象,并在ALAssetsLibrary'sassetForURL:resultBlock:方法中使用。

花了一段时间才弄清楚这就是问题所在,托管对象是在单独的线程中创建的。事实证明,托管对象处理得不太好。

现在将新项目的创建移到了块之外,现在它工作得很好。