我一直在编写一个关于为iOS创建待办事项列表应用程序的在线教程,但我注意到该教程使用了过时版本的Swift(链接:https://www.raywenderlich.com/77974/making-a-gesture-driven-to-do-list-app-like-clear-in-swift-part-1)。我试图根据新标准更正代码,但是当我构建并运行应用程序时,它只显示一个空表:没有文本可见。
我在下面粘贴了我的代码。它包含了我用于调试的几个打印语句,但只有第一个(“hello world”)似乎运行。任何投入将不胜感激。谢谢!
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
}
}