Swift:表格单元格出现一秒钟后消失

时间:2017-11-27 14:22:48

标签: ios swift uitableview uiview uiviewcontroller

我在UIViewController中有一个父UIView。此父UIView处于分段控制之下,这样当选择不同的索引时,此父视图会将相应添加的子视图(例如currentViewController()。view)带到前面。

var parentView: UIView!
var currentView: UIView!
override func viewDidLoad() {
    currentView = currentViewController().view
    parentUIView.addSubview(currentView)
    parentUIView.bringSubview(currentView)
}

currentViewController中有一个UITableView。由于控制器是在xib下构建的,因此我在currentViewController中注册了单元。 (示例代码如下)

import UIKit

class currentViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet var stockInfo: UITableView!

override func viewDidLoad() {
    super.viewDidLoad()
    stockInfo.delegate = self
    stockInfo.dataSource = self
    stockInfo.register(UITableViewCell.self, forCellReuseIdentifier: "something")
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 2
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = stockInfo.dequeueReusableCell(withIdentifier: "something", for: indexPath) as! UITableViewCell
    cell.textLabel?.text = "testing DEFAULT"
    return cell
}

代码非常简单直接。选择分段控件时,我检查索引并将此视图置于前面。上面的代码只是一个例子。我也有其他观点。

不幸的是,我的硬编码单元(为了便于调试)甚至不会显示超过一秒钟。它们在首次加载视图时出现,但在没有任何用户操作的情况下在一秒钟内消失。我想他们已被解除分配?或者我有什么理由不知道?有人可以帮忙吗?我被困在它上好几个小时。

1 个答案:

答案 0 :(得分:0)

让我补充一下,我整天都在浪费时间去弄清楚。 reloadData()之后,我的表视图单元格消失了。解决方案是->取消隐藏prepareForReuse()中的单元格,prepareForReuse()用于单元格类内部。