Napisałem prostą funkcję, która wyświetla alert po jego wywołaniu. Chciałbym użyć tej funkcji w kilku viewControllers. W tej chwili mam ten sam fragment kopiowania kodu - wklejonego na dno każdego kontrolera viewController, ale nie mogę pomóc, ale myślę, że jest lepszy sposób.W jaki sposób zdefiniowane są funkcje globalne w Swift?
Jak zdefiniować funkcję, która może być wywołana z dowolnego kontrolera viewController?
W celach informacyjnych wkleję poniższą funkcję, ale jest to ogólne pytanie. Chciałbym być w stanie znaleźć wymowny sposób obsługi zarządzania klawiaturą w identyczny sposób także we wszystkich kontrolerach widoku.
func displayAlert(title:String, error:String, buttonText: String) {
// Create the alert
var alert = UIAlertController(title: title, message: error, preferredStyle: UIAlertControllerStyle.Alert)
// Add an action
alert.addAction(UIAlertAction(title: buttonText, style: .Default, handler: { action in
// Dismiss when the button is pressed
self.dismissViewControllerAnimated(true, completion: nil)
}))
// Add it to viewController
self.presentViewController(alert, animated: true, completion: nil)
}
Czy znaleźć jakiś sposób, aby utrzymać cały kod klucza Nadzorczej w oddzielnej klasie. –
Udało mi się utworzyć podklasę UIViewController, która działa poprawnie. Ale jest trochę hacky. Myślę, że protokół byłby najlepszym sposobem, aby to zrobić, ale kiedy próbowałem go tak zmienić ostatnio, natknąłem się na problemy z kompatybilnością z dodaniem NSNotificationCenter i Swift. Coś o tym, że kakao jest w Celu C, uniemożliwiło dodanie obserwatorów. – Erik