I found when the the pan gesture is end, the delegate's userDidEndDraggingCell: will be called, and the resetDragging method too, but it doesn't exchange itemDictionary(the layout property) buckets.
I think it's a bug. when i want to exchange my datasource in userDidEndDraggingCell: callback method, the indexPath can't mapped to my datasource index correctly.