viewController 内的 tableview 中没有显示任何信息

Posted

技术标签:

【中文标题】viewController 内的 tableview 中没有显示任何信息【英文标题】:No information is showing in my tableview inside a viewController 【发布时间】:2016-07-07 07:57:48 【问题描述】:

我已将表格视图设置为从两个数组中填充。当它只是在一个表格视图中时,我成功地做到了这一点,但不是我把它放在一个视图控制器中,没有任何信息被显示。我不知道我做错了什么我设置了 viewController 就像我对 tableviewcontroller 所做的一样。 应该发生的是,将创建一行并用信息填充并继续此操作,直到所有数据都已填充。 问题是没有数据显示。我不知道我在这里错过了什么。任何帮助,将不胜感激。

这就是我所拥有的;

class MyViewController: UIViewController, UITableViewDelegate, UITableViewDataSource 


var titleDate = ["Apple", "Apricot", "Banana", "Kiwi" , "Juniperberry" , "GhostBusteres"]
var descriptionDate = ["One", "Two", "Three", "4", "5", "6"]

@IBOutlet weak var myTableView: UITableView!
// MARK: - UIViewController lifecycle

override func viewDidLoad() 
    super.viewDidLoad()
    myTableView.editing = true


// MARK: - UITableViewDataSource

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    return titleDate.count


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


    cell.couponTitle.text = titleDate[indexPath.row]
    cell.couponDescription.text = descriptionDate[indexPath.row]
    cell.couponAnother.text = "Like a bloody storm"

    return cell


 func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle 
    return .None


 func tableView(tableView: UITableView, shouldIndentWhileEditingRowAtIndexPath indexPath: NSIndexPath) -> Bool 
    return false


 func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) 
    let movedObject = self.titleDate[sourceIndexPath.row]
    titleDate.removeAtIndex(sourceIndexPath.row)
    titleDate.insert(movedObject, atIndex: destinationIndexPath.row)
    descriptionDate.removeAtIndex(sourceIndexPath.row)
    descriptionDate.insert(movedObject, atIndex: destinationIndexPath.row)
    NSLog("%@", "\(sourceIndexPath.row) => \(destinationIndexPath.row) \(titleDate)")
    // To check for correctness enable:  self.tableView.reloadData()


我还有将标签链接到变量的单元类,它也可以工作。

感谢您对此提供的任何帮助。

【问题讨论】:

你需要从storyboard设置委托和数据源 【参考方案1】:

您需要设置UITableView dataSourcedelegate。 当您使用UITableViewController 时,dataSourcedelegate 已经设置好了。 请参阅UITableView - Managing the Delegate and the Data Source 文档。

【讨论】:

以上是关于viewController 内的 tableview 中没有显示任何信息的主要内容,如果未能解决你的问题,请参考以下文章

当我将 tableview 添加到 ViewController 时,tableview 未正确添加

将数据从自定义表格单元中的 uicollectionview 传递到 viewcontroller

ViewController 内的 UICollectionView

用数组取到当前栈内的ViewController 并根据下标取某个ViewController

根 ViewController 内的 UIViewController 不旋转

单击 CollectionViewCell 内的 ImageView 以转到 ViewController