     override func viewDidLoad() {
         super.viewDidLoad()
         // Do any additional setup after loading the view, typically from a nib.
-        let vertical = UISwipeGestureRecognizer(target: self, action: "reportVerticalSwipe:")
-        vertical.direction = .Up | .Down
-        view.addGestureRecognizer(vertical)
-        
-        let horizontal = UISwipeGestureRecognizer(target: self, action: "reportHorizontalSwipe:")
-        horizontal.direction = .Left | .Right
-        view.addGestureRecognizer(horizontal)
+        for var touchCount = 1; touchCount <= 5; touchCount++ {
+            let vertical = UISwipeGestureRecognizer(target: self, action: "reportVerticalSwipe:")
+            vertical.direction = .Up | .Down
+            vertical.numberOfTouchesRequired = touchCount
+            view.addGestureRecognizer(vertical)
+            
+            let horizontal = UISwipeGestureRecognizer(target: self, action: "reportHorizontalSwipe:")
+            horizontal.direction = .Left | .Right
+            horizontal.numberOfTouchesRequired = touchCount
+            view.addGestureRecognizer(horizontal)
+        }
     }
     
     override func didReceiveMemoryWarning() {

    
    func reportVerticalSwipe(recognizer:UIGestureRecognizer) {
        label.text = "Vertical swipe detected"
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2 * NSEC_PER_SEC)),
            dispatch_get_main_queue(),
            { self.label.text = "" })
    }
    
}


    
    func reportHorizontalSwipe(recognizer:UIGestureRecognizer) {
        label.text = "Horizontal swipe detected"
        let count = descriptionForTouchCount(recognizer.numberOfTouches())
        label.text = "\(count) Horizontal swipe detected"
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2 * NSEC_PER_SEC)),
            dispatch_get_main_queue(),
            { self.label.text = "" })
