Ich versuche gerade, eine Klasse zu erstellen, die den Prozess der Definition eines UIAlerts vereinfacht.Versuch, ein Objekt zu erstellen, das als UIAlertController-Wrapper fungiert
Da die traditionelle Art und Weise einen Alarm der Initialisierung ist
let alert = UIAlertController(title:"hello world", message: "how are you",preferedStyle: .actionSheet)
let ok = UIAlertAction(title:"ok",style:.default,handler: {(action) -> Void in print("ok")})
alert.addAction(ok)
self.presentViewController(alert,animated:true,completion:nil)
jedoch, wie ich in eine Menge von Orten durch aus meiner App das gleiche Format der Alarm sein werde, die, dachte ich eine einzige machen Klasse, die mein gesamtes Alarmobjekt mit allen Aktionen enthält hinzugefügt, so kann ich einfach tun:
let alert = MyAlert()
self.presentViewController(alert,animated:true,completion:nil)
ich habe
class myAlert: UIAlertController{
init() {
super.init(title:"hello world", message: "how are you", preferredStyle: .actionSheet)
}
}
Aber ich scheine einen Fehler zu bekommen "Muss einen designierten Initliator der Oberklasse 'UIAlertController' anrufen
Kannst du mir erklären was ich falsch mache und mir die richtige Richtung schicken. Ich bin ziemlich neu zu schnell, so dass jede Hilfe sehr geschätzt wird. Danke
Vererben 'UIAlertController' in Swift ist nicht einfach. In Ziel C ist es jedoch viel einfacher, und ich würde vorschlagen, diesen Weg zu gehen. –
Aus der Dokumentation für 'UIAlertController': *" Die UIAlertController-Klasse ist so zu verwenden, wie sie ist und unterstützt keine Unterklassen. Die Ansichtshierarchie für diese Klasse ist privat und darf nicht geändert werden. "* – rmaddy