Ich bin sehr neu zu swift, ich habe eine Tabbed-App mit 5 verschiedenen View-Controllern und 5 verschiedenen view controller.swift-Dateien.Jeder View-Controller hat eine ähnliche Syntax, aber ein paar Namen und Labels anders. Jeder Controller hat eine Funktion, die meine Datenwerte neu startet und alle funktionieren pro Seite. Aber was ich versuche zu tun, ist den Clear-Funktionen von jedem View-Controller zugreifen, indem Sie nur eine Taste von einem View-Controller drücken. Meine Formatierung/Logik ist möglicherweise komplett ausgeschaltet. Im Unterricht selbst so dass jede Hilfe sehr geschätzt wirdSwift: Aufruf von Funktionen von verschiedenen View Controllern
import UIKit
class FirstViewController: UIViewController {
// North wing
var nTotal = 0
var total = 0
//Stepper Values
@IBOutlet weak var tStepper: UIStepper!
@IBOutlet weak var cStepper: UIStepper!
@IBOutlet weak var ssStepper: UIStepper!
@IBOutlet weak var sStepper: UIStepper!
//-Tables
@IBOutlet weak var Tables: UILabel!
@IBAction func TCounter(_ sender: UIStepper) {
Tables.text = String(Int(sender.value))
}
//-Carrels
@IBOutlet weak var Carrels: UILabel!
@IBAction func CCounter(_ sender: UIStepper) {
Carrels.text = String(Int(sender.value))
}
//-Soft Seating
@IBOutlet weak var SoftSeating: UILabel!
@IBAction func SSCounter(_ sender: UIStepper) {
SoftSeating.text = String(Int(sender.value))
}
//-Standing
@IBOutlet weak var Standing: UILabel!
@IBAction func SCounter(_ sender: UIStepper) {
Standing.text = String(Int(sender.value))
}
//-Clear Pop-up
@IBAction func Clear(_ sender: UIButton) {
let alert = UIAlertController(title: "Clear", message: "Clear all or current page?", preferredStyle: .alert)
let clearPage = UIAlertAction(title: "Clear Page", style: .default, handler: {ACTION in
self.nClear()
})
let clearAll = UIAlertAction(title: "Clear All", style: .destructive, handler: {ACTION in
self.MasterClear()
})
let Cancel = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
alert.addAction(clearPage)
alert.addAction(clearAll)
alert.addAction(Cancel)
self.present(alert, animated: true, completion: nil)
}
Dies ist die klare Funktion auf alle meine Ansicht-Controller
//Clear Function
func nClear() {
self.Tables.text = "0"
self.Carrels.text = "0"
self.SoftSeating.text = "0"
self.Standing.text = "0"
//Stepper Clear
self.tStepper.value = 0
self.cStepper.value = 0
self.ssStepper.value = 0
self.sStepper.value = 0
}
Dies ist die Funktion, die ich in der Lage sein, alle klare Funktionen für den Zugriff auf I haben auf jedem Controller-
//Clear all Function
func MasterClear(){
self.nClear()
SecondViewController().iLClear()
}
meinen Code Pausen und App stürzt ab, wenn ich laufen und Zugriff auf die Master-Löschfunktion
Vielen Dank für die Hilfe! Ich habe das aber probiert und ich bekomme kein Glück .. Auf dem zweiten View-Controller ist nichts geklärt. Muss ich die Instanz irgendwo in der Klasse mit dem Master löschen? –
meine schlechte müssen Sie die Instanz, die beim Start der App erstellt wird. Versuchen Sie meine aktualisierte Antwort – Steve
Immer noch nichts .. Muss ich die viewcontroller.swift Dateien irgendwie miteinander verknüpfen? Ich habe FirstViewController.swift und SecondViewController.swift.Danke für all deine Hilfe, ich schätze es sehr! –