Swift aufrufen Muss einen designierten Initialisierer der Superklasse uiinputviewcontroller

Bekomme ich die Fehlermeldung, in der das Thema nach heute morgen ein upgrade auf 8.3.

Den code unten verwendet, um die Arbeit perfekt, aber nicht mehr übersetzen. Kann einer von Euch mir bitte helfen?

protocol CustomAccessoryProtocol {
    func controlButtonPressed(tag:Int)
}

class CustomAccessory : UIInputViewController {
    var accessoryView : UIView!
    var delegate : CustomAccessoryProtocol!

    @IBOutlet weak var returnButton: UIButton!
    @IBOutlet weak var backButton: UIButton!
    @IBOutlet weak var forwardButton: UIButton!

    init(delegate: CustomAccessoryProtocol){
        super.init()
        self.delegate = delegate
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        fatalError("init(coder:) has not been implemented")
    }

    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
        let customNib = UINib(nibName: "CustomAccessory", bundle: nil)
        accessoryView = customNib.instantiateWithOwner(self, options: nil)[0] as! UIView
    }

    @IBAction func buttonPress(sender: AnyObject) {
        delegate.controlButtonPressed(sender.tag!)
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        view.addSubview(accessoryView)
    }
}
  • Ich Frage mich, was der designierte Initialisierer für UIInputViewController? Nicht init(frame: CGRect) vermute ich. ?
  • Ist nicht das erste init weiterführende init? Sie haben, um Bequemlichkeit hinzufügen Schlüsselwort, um es? Ich glaube nicht, haben es zu einer Wissenschaft. Ich hatte einige Fälle, wo ich zu kämpfen hatte, um mit ihm für eine Weile, um es herauszufinden. Basierend auf den Initialisierungen Sie haben, ich nehme an, Sie Lesen die Swift - Dokumentation auf das Thema irgendwann...
  • Nichts ändern, in der 8.3-docs für UIInputViewController oder UIViewController?
  • Ich kann nicht finden, was geändert oder vielleicht bin ich etwas fehlt, ich bin auch am überlegen den designierten Initialisierer als alle, die ich sehen kann, sind diejenigen, die ich schon habe. Vielleicht werden Sie aktualisieren die Dokumentation so weit ich cant nichts zu sehen auf dieser. Hoewever, es scheint zu funktionieren, wenn das hinzufügen von Bequemlichkeit zu der ersten init-und sich selbst.init anstatt super. Sie sir, nur meinen Tag!
  • Super!!! Froh, dass es funktionierte.
Schreibe einen Kommentar