私はiOS用のTo Doリストアプリケーションの作成に関するオンラインチュートリアルを行っていますが、このチュートリアルではSwiftの古いバージョン(リンク:https://www.raywenderlich.com/77974/making-a-gesture-driven-to-do-list-app-like-clear-in-swift-part-1)を使用しています。新しい標準に従ってコードを修正しようとしましたが、アプリケーションをビルドして実行すると、空のテーブルのみが表示されます。テキストは表示されません。テーブルビューのセルにテキストが表示されないのはなぜですか?
下のコードを貼り付けました。これには、デバッグに使用した2つのprintステートメントが含まれていますが、最初のもの( "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
}
}
は 'tableView.reloadDataをお試しください() 'toDoItemsを追加した後 – Nef10