In my app I use swipe gesture but when I add more items my app crashes and swipe gesture doesn't work. I don't know what to do. In my view controller I have
class controller: UIViewController, UITableViewDelegate,  UITableViewDataSource {
var array = [AnyObject]()
var check = false
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
    super.viewDidLoad()
    var rightButton : UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "edit"), style: UIBarButtonItemStyle.Done, target: self, action: "editClicked")
    self.editing = !self.editing
    rightButton.tintColor = UIColor.whiteColor()
    self.navigationItem.rightBarButtonItem = rightButton
    var leftButton : UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "settings"), style: UIBarButtonItemStyle.Plain, target: self, action: "settingsClicked")
    leftButton.tintColor = UIColor.whiteColor()
    self.navigationItem.leftBarButtonItem = leftButton
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return array.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell: CustomCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! CustomCell
    let object = array[indexPath.row] as! NSString
    cell.editCell(object, delete: check)
    cell.button.addTarget(self, action: "deleteClicked", forControlEvents : UIControlEvents.TouchUpInside)
    return cell
}
here is the function I use to add items
func addClicked () {
    check = true
    var alert = UIAlertController(title: "add", message: "", preferredStyle: UIAlertControllerStyle.Alert)
    alert.addTextFieldWithConfigurationHandler({ (textField) -> Void in textField.text = ""
    })
    alert.addAction(UIAlertAction(title: "confirm", style: .Default, handler: { (action) -> Void in
        let textField = (alert.textFields![0] as! UITextField).text as String
        if textField != "" {
            self.array.insert(textField, atIndex: 0)
            let indexPath = NSIndexPath(forRow: 0, inSection: 0)
            self.tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
        }
    }))
    alert.addAction(UIAlertAction(title: "cancel", style: .Cancel, handler: {
        (ACTION) -> Void in
    }))
   self.presentViewController(alert, animated: true, completion: nil)
   self.tableView.reloadData()
}
and
class CustomCell: UITableViewCell {
    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var view: UIView!
    @IBOutlet weak var toBuy: UIImageView!
    @IBOutlet weak var atHome: UIImageView!
    @IBOutlet weak var button: UIButton!
    var gesture, check: Bool!
    override func awakeFromNib() {
        super.awakeFromNib()
        var leftSwipe = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes:"))
        var rightSwipe = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes:"))
        leftSwipe.direction = .Left
        rightSwipe.direction = .Right
        self.addGestureRecognizer(leftSwipe)
        self.addGestureRecognizer(rightSwipe)
        gesture = false;
        check = false
    }
    func handleSwipes(sender:UISwipeGestureRecognizer) {
        if (gesture == false) && (check == true){
            if (sender.direction == .Left) {
                gesture = true;
                var labelPosition = CGPointMake(self.view.frame.origin.x - 55.0, self.view.frame.origin.y);
                UIView.animateWithDuration(0.5, animations: {
                    self.view.frame = CGRectMake( labelPosition.x , labelPosition.y , self.view.frame.size.width, self.view.frame.size.height)
                }, completion: { (value: Bool) in
                    self.gesture = false;
                })
            }
            if (sender.direction == .Right) {
                gesture = true;
                var viewPosition = CGPointMake(self.view.frame.origin.x + 55.0, self.view.frame.origin.y);
                UIView.animateWithDuration(0.5, animations: {
                    self.view.frame = CGRectMake( viewPosition.x , viewPosition.y , self.view.frame.size.width, self.view.frame.size.height)
                }, completion: { (value: Bool) in
                    self.gesture = false;
                })
            }
        }
    }
    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
    }
				
                        
I see MVC violation in your code. Please add the Swipe gesture handlers to your controller instead of your View(i.e) your Custom cell.
thus handlesSwipeMethod will move to "controller"