ich eine Funktion von meinem Class1.swift zuzugreifen versucheeine Funktion von anderen Swift-Klasse aufrufen
Hier ist meine Funktion in Class1.swift Class2.swift:
class ExampleFormViewController: FormViewController {
......
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
load_data()
self.loadForm()
}
func get_facility(company: Int!, territory: Int!){
}
}
Und hier ist, wie ich nenne es in meinem Class2.swift:
ExampleFormViewController().get_facility(ExampleFormViewController().val_company[row], territory: ExampleFormViewController().val_territory[row])
Der Fehler, den ich in dieser Zeile erhalten ist: Missing argument for parameter 'coder' in call
Sie sollten nicht auf View-Controller erstellen müssen die Fliege so. Vermutlich ist Class2 auch ein VC. Was sind diese beiden VCs und wie hängen sie zusammen? Wo ist dieser Code in Class2 (zB preparedForSegue?) – Michael
'öffentliche Klasse FormPickerCell: FormValueCell, UIPickerViewDelegate, UIPickerViewDataSource {' Es ist eine benutzerdefinierte Picker-Klasse und kein View Controller –
Also ich vermute, dass 'ExampleFormViewController' die aktuelle VC ist und Sie zeigen eine benutzerdefinierte Auswahl an. Entweder benötigt der Picker eine Referenz zurück zum VC, um diese Methode aufzurufen, oder die Methode kann statisch sein, wenn sie keine Instanzvariablen benötigt. – Michael