0

UIImageViewViewController. 我还为他们分配了轻击手势。当用户点击图像时,会执行 segue。

我将它们添加ImageViews到数组中,这就是应用程序崩溃的地方:

@IBOutlet weak var p0: UIImageView!
@IBOutlet weak var p1: UIImageView!
@IBOutlet weak var p2: UIImageView!
@IBOutlet weak var p3: UIImageView!
@IBOutlet weak var p4: UIImageView!
@IBOutlet weak var p5: UIImageView!

var playlistArray: [UIImageView] = []

override func viewDidLoad() {
    super.viewDidLoad()

    playlistArray += [p0, p1, p2, p3, p4, p5] // App crashes here

    for index in 0..<playlistArray.count {
        let playlist = Playlist(index: index)
        let playlistImageView = playlistArray[index]

        playlistImageView.image = playlist.icon
        playlistImageView.backgroundColor = playlist.backgroundColor
    }
}

我收到一个错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

我究竟做错了什么?所有的ImageViews都是连接的。

请注意,我正在关注一个代码几乎相同的教程,因此将 ImageView 添加到数组的方法 - 这是一门初学者课程。

我已经设置了一个断点,我确信没有一个 ImageViews 是 nil。
它们都正确连接

编辑:

我已经上传了我的项目。如果有人有时间,我会很高兴看看那里可能有什么问题: https ://www.dropbox.com/s/fj0tgi9st2xr7y5/s_PlaylistBrowser.zip?dl=0

4

2 回答 2

1

您写道:“我做错了什么?所有的 ImageView 都已连接。”

这是初学者的错误。有一个问题,你假设你做的一切都是正确的。但是你没有做对所有事情应该是常识——如果你做对了,你的代码就会工作!

你应该自动问自己的问题是:我做错了什么。我做错了什么?如果您问自己这个问题,那么很明显崩溃点和 p0、p1、p2、p3、p4 或 p5 之一为 nil 的错误消息是显而易见的。

于 2015-02-22T21:01:27.087 回答
1

我看过你的代码。
基本上,您错过了DetailsViewController.
因为该程序仅在您尝试执行转场时才会崩溃。
不过,我不知道为什么它指向你提到的那条线。

于 2015-02-22T15:30:27.750 回答