0

我正在使用 xcode 8.2.1

致命错误:在展开可选值时意外发现 nil

这是代码,

class ShowMediaViewController: UIViewController {
var image: UIImage?
var titreText: String!
@IBOutlet var imageView: UIImageView!
//i tried @IBOutlet weak var imageView: UIImageView! but didn't work
@IBOutlet weak var titre: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()

    if image != nil {

        //crashes here, because imageView is nil
        imageView.image = image
    } else {
        print("image not found")
    }

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()

    // Dispose of any resources that can be recreated.
}

}

代码似乎在这一行崩溃

imageView.image = image

我认为是因为 imageView 为零?,因为我试过了

print(image)

结果很好,然后 print(imageView),它会导致致命错误但我确实初始化了它

@IBOutlet var imageView: UIImageView!

也许我的故事板有问题?

任何帮助将非常感激

**

更新 1 连接检查器

图 1

图 2 **

4

2 回答 2

0

我有同样的问题。我尝试了以下步骤。然后它工作。

试试这些,

  1. 检查 imageView 是否正确绑定到情节提要。
  2. 清理并构建项目。

如果不工作

  1. 关闭并重新启动 XCode
  2. 从 storyBoard 中删除 imageView 再次添加 imageView 并再次绑定。
于 2017-04-04T10:04:46.387 回答
0

您可能缺少从视图到插座的连接。检查这些: -

1)单击代码中插座旁边的一个点显示与情节提要的连接 2)图像的插座窗口显示与代码的连接

于 2017-04-04T10:04:50.257 回答