   }
 
   public func cellTapped(sender: UIGestureRecognizer) {
+    let photo = collectionData[(sender.view?.tag)!]
     switch checkable {
     case .Single:
       collectionData.forEach({ $0.checked = false })
       collectionData[(sender.view?.tag)!].checked = true
       collectionView.reloadData()
     case .Multiple:
-      collectionData[(sender.view?.tag)!].checked = !collectionData[(sender.view?.tag)!].checked
+      photo.checked = !photo.checked
       collectionView.reloadData()
     default:
       break;
     }
-    didChecked(collectionData)
+    didChecked(collectionData, photo)
   }
 
   public class ImageCell: CollectionViewCell {

  public var checkable: Checkable = .None { didSet { } }
  public var bordered: Bool = true
  public var radius: CGFloat = 0
  public var didChecked = {(items: [Photo]) in }

  public init(checkable: Checkable, bordered: Bool = true, radius: CGFloat = 0, sectionInset: UIEdgeInsets = UIEdgeInsetsMake(10, 10, 10, 10)) {
    self.checkable = checkable

    //    collectionViewLayout.minimumInteritemSpacing = 0
    //    collectionViewLayout.minimumLineSpacing = 0
  }

  public override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return collectionData.count
