title: How to add CollectionView custom cell at the end of cell?
body: <p>I have array of images , that display in collection view , I create a cell for , when I click on last of cell that open image picker.
    -> selected image can be set in this cell, and automatic add new cell last of this.
   (I have no idea about this , please help , Thanks)                 </p>
  
  <p><strong>CollectionView class</strong></p>
  
  <pre><code>class ViewController: UIViewController,UICollectionViewDelegate,UICollectionViewDataSource,UIImagePickerControllerDelegate,UINavigationControllerDelegate
  {
  
  var imagePicker = UIImagePickerController()
  let reuseIdentifier = "cell" // also enter this string as the cell identifier in the storyboard
  var items = ["1", "2", "3", "4", "5"]
  
  @IBOutlet var collectionView: UICollectionView!
  
  override func viewDidLoad() {
      super.viewDidLoad()
      // Do any additional setup after loading the view, typically from a nib.
  }
  
  override func didReceiveMemoryWarning() {
      super.didReceiveMemoryWarning()
      // Dispose of any resources that can be recreated.
  }
  
  // MARK: - UICollectionViewDataSource protocol
  
  func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -&gt; Int {
     return self.items.count
  }
  
  func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -&gt; UICollectionViewCell {
      let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! MyCollectionViewCell
  
     // cell.backgroundColor = UIColor.cyanColor()
      cell.btnSelectImage.setTitle(items[indexPath.row], forState: .Normal)
      cell.btnSelectImage.tag = indexPath.row
      cell.btnSelectImage.addTarget(self,action:#selector(buttonClicked),
                       forControlEvents:.TouchUpInside)
      return cell
  
  }
  
  func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)
  {
      if indexPath.row == 0
      {
          // call your alert here
      }
  }
  func buttonClicked(sender:UIButton)
  {
      let alertController: UIAlertController = UIAlertController(title: "Please choose a Picture".localized, message: nil, preferredStyle: UIAlertControllerStyle.ActionSheet)
      let cameraAction = UIAlertAction(title: "Camera".localized, style: UIAlertActionStyle.Default){
          UIAlertAction in
          self.openCamera()
      }
      let gallaryAction = UIAlertAction(title: "Gallery".localized, style: UIAlertActionStyle.Default){
          UIAlertAction in
          self.openGallary()
      }
      let cancelAction = UIAlertAction(title: "Cancel".localized, style: UIAlertActionStyle.Cancel){
          UIAlertAction in
      }
      alertController.addAction(cameraAction)
      alertController.addAction(gallaryAction)
      alertController.addAction(cancelAction)
  
      if UIDevice.currentDevice().userInterfaceIdiom == .Phone{
          self.presentViewController(alertController, animated: true, completion: nil)
      }
  }
  //MARK: - UIImagepickercontroller Method  -
  
  func openCamera()
  {
      if UIImagePickerController.availableCaptureModesForCameraDevice(.Rear) != nil
      {
          imagePicker.allowsEditing = true
          imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
          imagePicker.showsCameraControls = true
          imagePicker.cameraCaptureMode = .Photo
          imagePicker.takePicture()
  
          if UIDevice.currentDevice().userInterfaceIdiom == .Phone
          {
              self.presentViewController(imagePicker, animated: true, completion: nil)
          }
      }
      else
      {
          noCamera()
      }
  }
  
  func openGallary()
  {
      if UIDevice.currentDevice().userInterfaceIdiom == .Phone
      {
         imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
          self.presentViewController(imagePicker, animated: true, completion: nil)
         imagePicker.allowsEditing = true
      }
      else
      {
         imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
  
      }
  }
  func noCamera()
  {
      let alertVC = UIAlertController(title: "ok", message: "Device has no camera".localized, preferredStyle: UIAlertControllerStyle.Alert)
      let okAction = UIAlertAction(title: "OK".localized, style: UIAlertActionStyle.Default, handler: nil)
      alertVC.addAction(okAction)
      presentViewController(alertVC, animated: true, completion: nil)
  }
  
  func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
  {
  
      let timestamp = Int(NSDate().timeIntervalSince1970)
      let choosenImage = info[UIImagePickerControllerEditedImage] as! UIImage
  
  
      var indexPath = NSIndexPath(forRow: 0, inSection: 0)
      let cell  = collectionView.cellForItemAtIndexPath(indexPath) as! MyCollectionViewCell
  
      cell.btnSelectImage.setBackgroundImage(choosenImage, forState: .Normal)
  
  
      collectionView.reloadData()
  
      dismissViewControllerAnimated(true, completion: nil)
  
  }
  func imagePickerControllerDidCancel(picker: UIImagePickerController)
  {
      dismissViewControllerAnimated(true, completion: nil)
  } 
  
  }
  </code></pre>
  
  <p><strong>CollcetionViewCell</strong></p>
  
  <pre><code>class MyCollectionViewCell: UICollectionViewCell
  {
  
   @IBOutlet var btnSelectImage: UIButton!
  
  }
  </code></pre>
  
  <p>-Create array for images , showing in collectionview</p>