gpt4 book ai didi

uitableview - 为什么我在尝试快速加载 tableview 时会收到 EXC_BAD_INSTRUCTION 错误?

转载 作者:搜寻专家 更新时间:2023-10-31 08:05:31 25 4
gpt4 key购买 nike

我试图在将一些值保存到我的 coredata 数据库后填充我的 TableView 。我要求它显示我的代码中指示的一些值,但无论我做什么,我都会收到上述错误。有什么建议么?我已经尝试过其他一些关于这个问题的帖子,但似乎没有任何效果。

我想不出我可能会在哪里给出 Swift 不期望的 nil 输出。

override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? {

let CellId: NSString = "Cell"

var cell: UITableViewCell = tableView?.dequeueReusableCellWithIdentifier(CellId) as UITableViewCell

if let ip = indexPath {
var data: NSManagedObject = myCustomers[ip.row] as NSManagedObject
var addno = data.valueForKeyPath("custaddno") as String
var addname = data.valueForKeyPath("custaddfirstline") as String
cell.textLabel.text = "\(addno) \(addname)"
var jcost = data.valueForKeyPath("custjobcost") as Float
var jfq = data.valueForKeyPath("custjobfq") as Float
var jfqtype = data.valueForKeyPath("custjobfqtype") as String
cell.detailTextLabel.text = "Charge: \(jcost) to be done every \(jfq) \(jfqtype)"
}
return cell
}

最佳答案

问题

您之前可能忘记为单元格标识符注册一个类。请参阅 dequeueReusableCellWithIdentifier: 的文档:

Discussion

Prior to dequeueing any cells, call this method or the registerNib:forCellReuseIdentifier: method to tell the table view how to create new cells. If a cell of the specified type is not currently in a reuse queue, the table view uses the provided information to create a new cell object automatically.

然后该方法返回 nil,Swift 无法隐式解包可选。

解决方案

在代码中

要解决此问题,您可以像这样在 viewDidLoad 中调用 registerClass:forCellReuseIdentifier:(请参阅 docs)...

override func viewDidLoad() {
super.viewDidLoad()
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "Cell")
}

在界面生成器中

...或者,如果您使用的是 Storyboard,则在选择 UITableViewCell 原型(prototype)时直接在属性检查器的 Interface Builder 中进行设置:

Interface Builder

关于uitableview - 为什么我在尝试快速加载 tableview 时会收到 EXC_BAD_INSTRUCTION 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24559269/

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