make delete able & improve reuse behaviour

deleting sample code:

[self.collectionView performBatchUpdates:^{

     [self.imagesURLArray removeObjectAtIndex:self.currentPage];

     // 删除数组中对象、 关系为 retain，即 Personal 中数组也同步删除了。
     [self.photosInfoArray removeObjectAtIndex:self.currentPage];

     // 删除 Gallery 该 Cell
     NSMutableArray *arrayWithIndexPaths = [NSMutableArray array];
     [arrayWithIndexPaths addObject:[NSIndexPath
indexPathForRow:self.currentPage
                                                       inSection:0]];

     [self.collectionView deleteItemsAtIndexPaths:arrayWithIndexPaths];

     // 删除 Personal 该 Cell
     AppDelegate *appDelegate = (AppDelegate *)[[UIApplication
sharedApplication] delegate];
     PersonalViewController *personalSV = appDelegate.rootTC.personalVC;
     [personalSV galleryDidDeletePhotoAndDataAtPage:self.currentPage];

    } completion:^(BOOL finished) {

     // 删最后一个解散 Gallery 或者 更新 title
     if (self.imagesURLArray.count == 0)
     {
         [self dismissViewControllerAnimated:YES completion:^{

         }];
     }
     else if ((self.imagesURLArray.count - 1) < self.currentPage)
     {
         [self setPageIndex:(self.imagesURLArray.count - 1)];
         [self updateTitleText];
     }
     else
     {
         [self updateTitleText];
     }

}];