【发布时间】:2015-02-22 13:57:04
【问题描述】:
我的 ViewController 中有 6 个 UIImageView。我还为他们分配了轻击手势。当用户点击图片时,会执行 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
【问题讨论】:
-
在该行设置断点并验证所有图像视图不为零 - 我的猜测是至少有一个没有连接。
-
@Antonio 验证所有 *
imageViews? -
[p0, p1, p2, p3, p4, p5] 中的一个或多个为 nil。这很可能是因为它们实际上没有正确连接,或者可能是因为您在其他地方有代码将其中一个或多个设置为 nil。