Ich schrieb eine einfache Funktion, die eine Warnung anzeigt, wenn es aufgerufen wird. Ich möchte diese Funktion in mehreren ViewControllern verwenden. Im Moment habe ich den gleichen Code in die Unterseite jedes ViewControllers kopiert, aber ich kann nicht anders, als zu denken, dass es einen besseren Weg gibt.Wie sind globale Funktionen in Swift definiert?
Wie kann man eine Funktion definieren, die von jedem viewController aufgerufen werden kann?
Nur als Referenz werde ich meine Funktion unten einfügen, aber das ist eine allgemeine Frage. Ich möchte in der Lage sein, einen eloquenten Weg zu finden, die Tastaturverwaltung auf allen View-Controllern identisch zu handhaben.
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)
}
Sie jede mögliche Weise finden Sie alle Tastatur-Code in separaten Klasse zu halten. –
Ich konnte eine Unterklasse von UIViewController zusammenstellen, die in Ordnung ist. Aber es ist ein bisschen hacky. Ich denke, ein Protokoll wäre der beste Weg, es zu tun, aber als ich versuchte, es so vor kurzem zu wiederholen, stieß ich auf Kompatibilitätsprobleme mit dem Hinzufügen von NSNotificationCenter und Swift. Etwas über Kakao in Objective-C machte es unmöglich, Beobachter hinzuzufügen. – Erik