Ios 为什么赢了';“我的表格”视图中的单元格是否显示任何文本?

Ios 为什么赢了';“我的表格”视图中的单元格是否显示任何文本?,ios,swift,xcode,uitableview,Ios,Swift,Xcode,Uitableview,我一直在学习一个关于为iOS创建待办事项列表应用程序的在线教程,但我注意到该教程使用了一个过时的Swift版本(链接:)。我试图根据新标准更正代码,但当我构建并运行应用程序时,它只显示一个空表:没有可见的文本 我把代码贴在下面。它包括我用来调试的几个print语句,但只有第一个(“helloworld”)似乎在运行。如有任何意见,将不胜感激。谢谢大家! import UIKit class ViewController: UIViewController, UITableViewDataSou

我一直在学习一个关于为iOS创建待办事项列表应用程序的在线教程,但我注意到该教程使用了一个过时的Swift版本(链接:)。我试图根据新标准更正代码,但当我构建并运行应用程序时,它只显示一个空表:没有可见的文本

我把代码贴在下面。它包括我用来调试的几个print语句,但只有第一个(“helloworld”)似乎在运行。如有任何意见,将不胜感激。谢谢大家!

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var tableView: UITableView!
var toDoItems = [ToDoItem]()

override func viewDidLoad() {
    toDoItems.append(ToDoItem(text: "First text"))
    print("hello world")
    super.viewDidLoad()
    tableView = UITableView()
    tableView.dataSource = self
    tableView.delegate = self
    //self.view.addSubview(self.tableView)
    tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")


    if toDoItems.count > 0 {
        return
    }

    toDoItems.append(ToDoItem(text: "text 1"))
    toDoItems.append(ToDoItem(text: "text 2"))
    toDoItems.append(ToDoItem(text: "text 3"))
    toDoItems.append(ToDoItem(text: "text 4"))
    toDoItems.append(ToDoItem(text: "text 5"))
    toDoItems.append(ToDoItem(text: "text 6"))
    toDoItems.append(ToDoItem(text: "text 7"))
    toDoItems.append(ToDoItem(text: "text 8"))
    toDoItems.append(ToDoItem(text: "text 9"))
    toDoItems.append(ToDoItem(text: "text 10"))
    toDoItems.append(ToDoItem(text: "text 11"))
    toDoItems.append(ToDoItem(text: "text 12"))

}

// MARK: - Table view data source

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
    print("should assign text here")
    let item = toDoItems[indexPath.row]
    cell.textLabel!.text = item.text
    return cell
 }
}

viewDidLoad()中去掉这一行:

tableView
@IBOutlet
应该连接到故事板中。通过分配
UITableView()
您正在创建第二个
UITableView
,该视图不是屏幕上的视图


要连接情节提要中的
tableView
outlet,请单击outlet左侧的圆圈并拖动到ViewController中的tableView:


在添加toDoItemsthank之后,请尝试
tableView.reloadData()
,非常感谢!我听从了你的建议,现在我的应用程序运行顺利。
tableView = UITableView()