NativeAd 的 IB Outlet 在 tableview 单元格中为零
Posted
技术标签:
【中文标题】NativeAd 的 IB Outlet 在 tableview 单元格中为零【英文标题】:IB Outlet for NativeAd is nil in a tableview cell 【发布时间】:2021-02-22 02:37:57 【问题描述】: let nativeAdCell = tableView.dequeueReusableCell(
withIdentifier: "Ads", for: indexPath) as! NativeAds
然后
(nativeAdCell.HeadlineView).text = nativeAd.headline
(nativeAdCell.PriceView).text = nativeAd.price
运行时,出现错误,说明线程 1:致命错误:在展开 Optional 值时意外发现 nil。这意味着视图为零
编辑 1
tableview.register(NativeAds.self, forCellReuseIdentifier: "Ads")
let nativeAdCell = tableView.dequeueReusableCell(
withIdentifier: "Ads", for: indexPath) as! NativeAds
我是怎么注册的,我用的是 Xib 文件
【问题讨论】:
你是如何注册你的单元类的?你在用故事板吗?你设置好插座了吗?表格视图是否来自那个故事板?为什么要强制将属性向下转换为UILabel
?该属性应该已经具有正确的类型。如果它有不同的类型,那么强制向下转换也可能导致崩溃。
对其进行了编辑并感谢信息
你必须register the NIB 而不是班级。如果您从类中实例化,则未设置出口。
【参考方案1】:
按照下面的代码在表格视图中注册XIB文件:
tableView.register(UINib(nibName: "yourNibFileName", bundle: nil), forCellReuseIdentifier: "yourIdentier")
【讨论】:
它说“[以上是关于NativeAd 的 IB Outlet 在 tableview 单元格中为零的主要内容,如果未能解决你的问题,请参考以下文章
IB Tap Gesture Recognizer 总是从 Outlet Collection 返回第一个视图