sto chiamando una funzione di classe dalla mia classe ViewController
in questo modo:Accesso IBOutlet da un'altra classe
Buttons.set_cornerRadius(10)
Ho un altro .swift
file in cui ho la funzione dichiarata:
class Buttons {
class func set_cornerRadius(radius: CGFloat) {
ViewController().someButton.layer.cornerRadius = radius
}
}
Quando ho' m provando a eseguire ciò genera l'errore: "Unexpectedly found nil while unwrapping an optional Value"
.
Ho controllato già le connessioni Storyboard-IBOutlet. Tutto è collegato correttamente.
Se chiamo il metodo nella stessa classe come questo, tutto funziona:
class ViewController: UIViewController {
@IBOutlet weak var someButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
set_cornerRadius(10)
}
func set_cornerRadius(radius: CGFloat) {
someButton.layer.cornerRadius = radius
}
}
Come posso risolvere questo problema? Cosa sto sbagliando/non capendo bene?
Grazie in anticipo.
È necessario accedere a una istanza reale di 'ViewController' e non a qualche istanza generica – Ian
Puoi darmi qualche esempio di codice su come farlo? – smnk
Perché non basta impostare il raggio dell'angolo nel ViewController? – Ian