如何在xCode中修复此错误?

时间:2016-07-14 03:49:26

标签: swift xcode

无论我在xCode中运行什么程序(只要View Controller中有@IBOutlet),我都会收到错误fatal error: unexpectedly found nil while unwrapping an Optional value

在这种情况下,我的代码是一个简单的图片幻灯片:

@IBOutlet weak var imageView: UIImageView!

override func viewDidAppear(animated: Bool) {
    var imagesNames = ["image-3.jpeg","image-4.jpeg","image-5.jpeg","image-6.jpeg","image-7.jpeg"]

    var images = [UIImage]()

    for i in 0..<imagesNames.count{
        images.append(UIImage(named: imagesNames[i])!)
    }

    imageView.animationImages = images
    imageView.animationDuration = 0.05
    imageView.startAnimating()
}

我不确定我是否正确使用了viewDidAppear(),但如果代码也位于viewDidLoad()内,它也无法正常工作。是的,我的@IBOutlet在故事板中与其旁边的小灰点相连接。

我尝试过重新加载xCode。我应该再试一次吗?

由于

ë

3 个答案:

答案 0 :(得分:0)

也许故事板中引用了不需要的插座......

当视图在uiviewcontroller代码中缺少引用的插座时,会发生这种情况。

确保所有引用的出口都链接到您的UIViewController:

enter image description here

答案 1 :(得分:0)

我唯一能想到的是UIImage的力展开是否为你的一张照片找到了零。要仔细检查一下你的生意并不好笑,你应该安全地解开图像(这无论如何都是好的做法)。试试这个,看看你是否仍然收到错误:

override func viewDidAppear(animated: Bool) {
    var imagesNames = ["image-3.jpeg","image-4.jpeg","image-5.jpeg","image-6.jpeg","image-7.jpeg"]

    var images = [UIImage]()

    for i in  0..<imagesNames.count {
        guard let image = UIImage(named: imagesNames[i]) else {
            print("\(imagesNames[i]) not found!"); continue 
        }
        images.append(image)
    }

    imageView.animationImages = images
    imageView.animationDuration = 0.05
    imageView.startAnimating()
}

答案 2 :(得分:0)

尝试删除未连接的插座。可能你已经删除了viewcontroller文件中的变量,但忘了删除连接的插座

step to follow