UIview中的两个表视图致命错误

Posted

技术标签:

【中文标题】UIview中的两个表视图致命错误【英文标题】:fatal error two table view in UIview 【发布时间】:2016-02-22 14:22:02 【问题描述】:

在我的应用程序中,我想在 UIViewController 中显示两个表格视图,但出现致命错误:致命错误:在展开可选值时意外发现 nil

有人可以帮我解决这个问题吗?

这里是uiview的完整代码

类 MyPropertiesViewController: UIViewController, UITableViewDelegate, UITableViewDataSource

//table view extended
@IBOutlet weak var extandedTableViex: UITableView!

// table view standart
@IBOutlet weak var standartTableView: UITableView!
//list of data
let stdlist = ["1","2","3", "4","5","6","7","8","9"]

let Extlist = ["E1","E2" ]

//单元标识符 让 stdcellIdentifier = "stdcell"

let extcellIdentifier = "extcell"

override func viewDidLoad() 
    super.viewDidLoad()
    standartTableView.delegate = self
    standartTableView.dataSource = self

    standartTableView.delegate = self
    standartTableView.dataSource = self

    standartTableView.scrollEnabled = false
    extandedTableViex.scrollEnabled = false

    self.standartTableView.registerClass(GuaranteeCell.self, forCellReuseIdentifier: stdcellIdentifier)
    self.extandedTableViex.registerClass(GuaranteeCell.self, forCellReuseIdentifier: extcellIdentifier)


//count cell
  func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    if tableView == standartTableView 
        return self.stdlist.count;
     else 
        return self.Extlist.count;
    



// add cell
   func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 

    if tableView == standartTableView 
        let cell:GuaranteeCell = self.standartTableView.dequeueReusableCellWithIdentifier(stdcellIdentifier) as! GuaranteeCell
        print("list-element " + self.stdlist[indexPath.row])
           print(indexPath.row)

        cell.guaranteeLabel.text = self.stdlist[indexPath.row]
        return cell
     else 
        let cell2:GuaranteeCell = self.extandedTableViex.dequeueReusableCellWithIdentifier(extcellIdentifier) as! GuaranteeCell
        cell2.guaranteeLabel.text = String(self.Extlist[indexPath.row])
        return cell2  
    


func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)  

override func viewWillAppear(animated: Bool) 
    super.viewWillAppear(animated)


override func didReceiveMemoryWarning() 
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.

谢谢

【问题讨论】:

尝试将用于注册tableViewcell的viewDidLoad代码移动到viewWillAppear方法并尝试 这两个表格视图是否都正确连接到您的 Storyboard 中? 【参考方案1】:

检查你的单元类是否真的是 GuaranteeCell(可能是错误存在)

【讨论】:

我已经检查过了,我的两个表格视图的单元格都是保证单元格

以上是关于UIview中的两个表视图致命错误的主要内容,如果未能解决你的问题,请参考以下文章

加载库存表视图时出现致命错误(发现为零)

将表视图单元格添加到视图中的表视图

致命错误:在展开可选值 UIPageViewController 时意外发现 nil

同一视图中的多个图表IOS图表

重新加载表数据时出现致命错误:展开为零:需要帮助

一个视图控制器中的两个表视图,快速