2016-03-06 2 views
4

У меня есть следующий код для обработки жестов салфетки.Как сделать метод доступным во всем проекте

func handleSwipes(sender:UISwipeGestureRecognizer) { 

    if (sender.direction == .Right) { 
     print("Swipe Right") 
     self.performSegueWithIdentifier("eventsModally", sender: self) 
    } 
} 

Что является лучшей практикой, чтобы сделать этот метод доступным во всем проекте, вместо того, чтобы его реализации в каждом классе ViewController?

Справка очень приветствуется.

ответ

6

Положите его в class extension.

extension UIViewController { 
    func handleSwipes(sender:UISwipeGestureRecognizer) { 
     if (sender.direction == .Right) { 
      print("Swipe Right") 
      self.performSegueWithIdentifier("eventsModally", sender: self) 
     } 
    } 
} 
+0

работает идеально. есть ли альтернативный способ, который позволяет мне использовать его в каждом контроллере, даже если не каждый котроллер является UIViewController? F.E. UITableViewController? –

+0

'UITableViewController' _is a_' UIViewController', поэтому это расширение на 'UIViewController' должно работать с любым классом, включая' UITableViewController', который наследуется от 'UIViewController'. –

+0

Ок не знал этого. Спасибо за ваши усилия. –

Смежные вопросы