Je suis désolé d'avoir mauvaise compétence eng.Comment puis-je accéder à IBOutlet dans une autre classe? en rapide
Je veux accéder à IBOutlet dans une autre classe. J'ai trouvé beaucoup de questions dans stackoverflow, mais toutes les réponses ne marchent pas dans mon code
d'abord ceci est mon code.
ViewController.swift
import UIKit
class ViewController: UIViewController {
@IBOutlet var MainViewController: UIView! = nil
@IBOutlet var LyricsViewController: UIView! = nil
@IBOutlet var ListViewController: UIView! = nil
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
showMainViewController()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func showMainViewController(){
MainViewController.alpha = 1
LyricsViewController.alpha = 0
ListViewController.alpha = 0
}
func showLyricsViewController(){
MainViewController.alpha = 0
LyricsViewController.alpha = 1
ListViewController.alpha = 0
}
func showListViewController(){
MainViewController.alpha = 0
LyricsViewController.alpha = 0
ListViewController.alpha = 1
}
}
et je veux accéder à la fonction de ViewController dans cette classe
SecondViewController.swift
import UIKit
class SecondViewController : UIViewController{
@IBOutlet weak var menuButton: UIButton!
var listBoolean = false
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func LinkListView(sender: AnyObject) {
if(listBoolean == false){
ViewController().showListViewController()
listBoolean = true
}
else{
ViewController().showMainViewController()
listBoolean = false
}
}
}
func showMainViewController() est le travail dans viewDidLoad ViewController() mais erreur dans SecondViewController avec ce setance
d'erreur fatale: de façon inattendue trouvé nulle en déballant une valeur facultative
comment puis-je résoudre ce problème?
Juste un conseil sans rapport avec la question: n'appelez pas une variable '...viewController' s'il s'agit d'un objet 'UIView', et commence toujours par un nom de variable ou de méthode avec une minuscule afin d'éviter toute confusion avec le nom des classes. –