UITableView没有出现在我的UITableview的cell.contentView中

时间:2016-04-08 13:34:58

标签: ios swift uitableview

我有一个UITableView类,我试图在另一个UITableView的单元格中实例化。无论出于何种原因,它都没有出现或者甚至没有被加载。

let words                = self.page.valueForKey(categories[parent])!.allObjects as! [Word]
let wordTableView        = WordTableView(frame: CGRectZero)
wordTableView.delegate   =  self
wordTableView.dataSource = self
wordTableView.words      = words
cell.contentView.addSubview(wordTableView)

我的WordTableView.swift看起来像这样:

class WordTableView: UITableView {

    var words = [Word]()

    func viewDidLoad() {
        self.registerNib(UINib(nibName: "WordCell", bundle: nil), forCellReuseIdentifier: "wordCell")
    }

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return words.count
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("WordCell", forIndexPath: indexPath) as! WordCell

        let word = words[indexPath.row]
        cell.sanskrit.text = "wazzuuuup"
        cell.definition.text = "my defination station!"
        return cell
    }
}

如果我在我的WordTableView类中放置一个断点,它就永远不会被调用。

1 个答案:

答案 0 :(得分:1)

如前所述,您可能需要在wordTableView上设置框架。您还需要执行以下操作:

  1. 致电wordTableView.viewDidLoad。这不会自动为您调用。此功能仅在视图控制器上自动调用。

  2. 致电wordTableView.reloadData

  3. 这样的事情:

    wordTableView.frame = ...
    cell.contentView.addSubview(wordTableView)
    wordTableView.viewDidLoad()
    wordTableView.reloadData()