İlk: @IBAction afegeixGrafic
kullanırken kaydırma görünümünün sıfır olması mümkün olabilir, ancak @IBAction func button
kullanıldığında '' değil mi? Ben sınıfa GraficViewController
Neden benim scrollView'm nil?
class GraficsBalancGlobalViewController: GraficViewController {
@IBAction func afegeixGrafic(sender: NSButton) {
addNewGrafic() // which is set on the GraficViewController
}
}
alt sınıfı olan sınıfını GraficsBalancGlobalViewController
var Ve ben on line IBAction
afegeixGrafic
programım çöküyor gerçekleştirirken aşağıda işaretlenmiş:
class GraficViewController: NSViewController, GraficViewDataSource {
@IBAction func button(sender: NSButton) {
addNewGrafic()
}
func addNewGrafic() {
let frame = NSRect(x: 0, y: 0, width: self.view.bounds.width , height: self.view.bounds.width * 0.25)
let nouGrafic = GraficView(frame: frame)
scrollView.addSubview(nouGrafic) <---- BREAK here!
}
@IBOutlet weak var scrollView: NSView!
//...more code
}
derleyici diyor:
fatal error: unexpectedly found nil while unwrapping an Optional value
fakat GraficViewController
içindeki düğmenin (IBAction) çalışması wel l !! Yani
@IBOutlet weak var scrollView: NSView? {
didSet {
guard let sview = scrollView else {
addNewGrafic()
return // because scrollView is nil for some reason, but don't work
}
}
}
Tam kodu:
class GraficsBalancGlobalViewController: GraficViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
}
@IBAction func afegeixGrafic(sender: NSButton) {
//performSegueWithIdentifier("Nou Grafic", sender: nil)
//let viewController = storyboard!.instantiateControllerWithIdentifier(identifier!) as! GraficsBalancGlobalViewController
addNewGrafic()
}
@IBAction func eliminaGrafic(sender: NSButton) {
}
}
'scrollView' her zaman son kod bloğunda nil olacak - o bekçi denetliyor ne - bu işlem başka sadece içine düşer ne zaman –
evet, kafa karıştırıcı olabilir üzgünüm. Son kod parçası umrumda değil, önemli olanıdır. –
Bize hata noktasında çağrı yığını göster. –