ios - ScrollView : unexpectedly found nil while unwrapping an Optional value

标签 ios swift uiscrollview

我试图在按下按钮时调用另一个类的方法,但它不工作并给出 fatal error (在展开可选值时意外发现 nil)。我不知道我是否做错了什么。

这是第一个类 (FirstViewController) 的代码

@IBAction func pressButton(sender: UIButton) {
        SecondViewController().pressedButton()
    }

这是另一个类(SecondViewController)中的代码

func pressedButton() {
        self.scrollView.setContentOffset(CGPoint(x: 320, y: 0), animated: true)
    }

我将上面的代码放在 viewDidLoad 之后(在 SecondViewController 的类中)。

最佳答案

问题是在您的第一个代码中 SecondViewController() 创建了一个全新的 SecondViewController 实例。这与具有 scrollView 的 SecondViewController 不同,因此它的 scrollView 为 nil,当您尝试使用它时会崩溃。

相反,SecondViewController 需要已经存在于您的 View Controller 层次结构中,并且您需要与那个 SecondViewController 对话。

关于ios - ScrollView : unexpectedly found nil while unwrapping an Optional value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29658033/

相关文章:

arrays - 在 Swift 代码中,数组接受 AnyObject,如果我们给出一个 Integer 和一个 Double,它会接受 Double 值,为什么?

IOS - UIScrollView 拒绝滚动

objective-c - CCCrypt 解密结果为 -4304

c# - 是否可以将大的本地化字符串换成他们自己的文件?

ios - 调整图像大小以适合背景

ios - 用户滚动时如何停止视频

ios - 重新创建 Instagram 长按查看?

ios - 向自定义按钮添加操作

ios - 实现大量 "views"的 ScrollView 查找?

swift - 如何从 [AnyObject] 数组中过滤某种类型的对象