TableView 在 Collectionview 单元格中发现 nil Swift
TableView found nil in Collectionview cell Swift
我正在尝试实现一个需要将 TableView 嵌套在 CollectionView 单元格中的解决方案。由于某种原因 table 视图被初始化,它被发现为 nil。该操作是在 CollectionView Cell class 中完成的。
这是具有相关功能的代码片段:
class MNMessgesCollectionViewCell: UICollectionViewCell, UITableViewDataSource, UITableViewDelegate{
@IBOutlet weak var _tableView: UITableView!
var _messages : [MedNegMessage]?
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
func setUpViews() {
_tableView.delegate = self
_tableView.dataSource = self
_tableView.register(UINib(nibName: "MessageMNcell", bundle: nil), forCellReuseIdentifier: "messageCell")
}
func setUpCell(message: [MedNegMessage])
{
_messages = message
}
}
class DashboardViewController: UICollectionViewDelegate, UICollectionViewDataSource{
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
_collectionView.register(MNMessgesCollectionViewCell.self, forCellWithReuseIdentifier: "MNmessages")
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "MNmessages",
for: indexPath) as? MNMessgesCollectionViewCell
else { return UICollectionViewCell()}
cell.setUpViews()
cell.setUpCell(message: self.messagesMN[indexPath.row])
return cell
}
}
总是在 _tableView.delegate = self
处抛出错误
隐式展开可选值时意外发现 nil
有什么建议吗?
1)我猜你刚刚声明了 tableView 但没有连接到故事板。
2)确保class所有插座都正确。
我正在尝试实现一个需要将 TableView 嵌套在 CollectionView 单元格中的解决方案。由于某种原因 table 视图被初始化,它被发现为 nil。该操作是在 CollectionView Cell class 中完成的。
这是具有相关功能的代码片段:
class MNMessgesCollectionViewCell: UICollectionViewCell, UITableViewDataSource, UITableViewDelegate{
@IBOutlet weak var _tableView: UITableView!
var _messages : [MedNegMessage]?
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
func setUpViews() {
_tableView.delegate = self
_tableView.dataSource = self
_tableView.register(UINib(nibName: "MessageMNcell", bundle: nil), forCellReuseIdentifier: "messageCell")
}
func setUpCell(message: [MedNegMessage])
{
_messages = message
}
}
class DashboardViewController: UICollectionViewDelegate, UICollectionViewDataSource{
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
_collectionView.register(MNMessgesCollectionViewCell.self, forCellWithReuseIdentifier: "MNmessages")
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "MNmessages",
for: indexPath) as? MNMessgesCollectionViewCell
else { return UICollectionViewCell()}
cell.setUpViews()
cell.setUpCell(message: self.messagesMN[indexPath.row])
return cell
}
}
总是在 _tableView.delegate = self
隐式展开可选值时意外发现 nil
有什么建议吗?
1)我猜你刚刚声明了 tableView 但没有连接到故事板。
2)确保class所有插座都正确。