gpt4 book ai didi

ios - 为什么我在 Swift 中遇到 fatal error ?解包可选值时意外发现 nil

转载 作者:行者123 更新时间:2023-11-30 13:42:31 25 4
gpt4 key购买 nike

我遇到了 fatal error ,但我不知道为什么。我试过改变'!'和 '?'在 _title 但它仍然不起作用。

class Post: NSObject, NSCoding {

private var _img: String!
private var _title: String!
private var _descLbl: String!

var img: String {
return _img
}

var titleLbl: String {
return _title
}

var descLbl: String {
return _descLbl
}

init(imagePath: String, title: String, description: String) {
self._img = imagePath
self._title = title
self._descLbl = description
}
}

这是我收到错误的地方:

fatal error: unexpectedly found nil while unwrapping an Optional value

class PostCell: UITableViewCell {

@IBOutlet weak var postImg: UIImageView!
@IBOutlet weak var title: UILabel!
@IBOutlet weak var descLbl: UILabel!


override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}

func configureCell(post: Post) {
title.text = post.titleLbl //Here i get the error
descLbl.text = post.descLbl
}
}

这里我调用ViewController中的configureCell函数:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let post = posts[indexPath.row]

if let cell = tableView.dequeueReusableCellWithIdentifier("postCell") as? PostCell {
cell.configureCell(post)
return cell
}else{
var cell = PostCell()
cell.configureCell(post)
return cell
}
}

最佳答案

问题很可能是您的 @IBOutlet:s 缺少正确的连接。但是,仅当您第一次尝试访问这些“自由 float ”断开连接的 socket 属性时,才会遇到运行时异常;即在 tableView(..) 中的 .configureCell(...) 调用中。

例如,以下按比例缩小的示例对于“非连接”会产生相同的错误@IBOutlet:s

class PostCell: UITableViewCell {

// non-connected outlets
@IBOutlet weak var postImg: UIImageView!
@IBOutlet weak var title: UILabel!
@IBOutlet weak var descLbl: UILabel!

override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}

func configureCell() {
title.text = "foo" // <--
descLbl.text = "bar"
}
}

// ... elsewhere
var cell = PostCell()
cell.configureCell()
// fatal error: unexpectedly found nil while unwrapping an Optional value

确保,例如在 Interface Builder 的连接检查器中,所有这三个 socket 都正确连接到预期的 UI 元素。有关详细信息,请参见例如以下线程

关于ios - 为什么我在 Swift 中遇到 fatal error ?解包可选值时意外发现 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35390783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com