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