Im très nouveau à rapide, j'ai une application de page à onglets avec 5 contrôleurs de vue différents et 5 différents fichiers controller.swift de vue.Chaque contrôleur de vue a syntaxe similaire, mais quelques noms et étiquettes sont différent. Chaque contrôleur a une fonction qui va redémarrer mes valeurs de données et ils fonctionnent tous par page. mais ce que j'essaye de faire, est d'accéder aux fonctions claires de chaque contrôleur de vue en appuyant simplement sur un bouton d'un contrôleur de vue. Mon formatage/logique peut être complètement désactivé. Im enseigner moi-même de sorte que toute aide est appréciéeSwift: Appel des fonctions à partir de différents contrôleurs de vue
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)
}
Ceci est la fonction claire sur l'ensemble de mon point de vue des contrôleurs
//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
}
Ceci est la fonction que je veux être en mesure d'accéder à toutes les fonctions claires I ont sur chaque contrôleur
//Clear all Function
func MasterClear(){
self.nClear()
SecondViewController().iLClear()
}
mes pauses de code et application se bloque lorsque je lance et accéder à la fonction d'effacement maître
Merci pour l'aide! J'ai essayé ceci cependant et je n'ai aucune chance. Rien n'est effacé sur le contrôleur de deuxième vue. Ai-je besoin de créer l'instance n'importe où spécifique dans la classe avec le maître clair? –
mon mauvais vous devez obtenir l'instance qui est créée au lancement de l'application. Essayez ma mise à jour de la réponse – Steve
Toujours rien .. Dois-je lier les fichiers viewcontroller.swift ensemble en quelque sorte? J'ai FirstViewController.swift et SecondViewController.swift.Merci pour votre aide je l'apprécie vraiment! –