我试图在按下按钮时从另一个类调用一个方法,但它不起作用并发出致命错误(在解开Optional值时意外地发现nil)。我不知道我做错了什么。
这是第一个类的代码(FirstViewController)
@IBAction func pressButton(sender: UIButton) {
SecondViewController().pressedButton()
}
这是另一个类(SecondViewController)中的代码
func pressedButton() {
self.scrollView.setContentOffset(CGPoint(x: 320, y: 0), animated: true)
}
我将上面的代码放在viewDidLoad
之后(在SecondViewController'类中)。
答案 0 :(得分:2)
问题是你的第一个代码SecondViewController()
创建了一个全新的SecondViewController实例。这与具有scrollView
的SecondViewController不同,因此它的scrollView
为零,当您尝试使用它时会崩溃。
相反,SecondViewController需要在视图控制器层次结构中存在已经,并且您需要与 SecondViewController进行对话。