前提・実現したいこと
Storyboardを出来るだけ使わずに書き始める
こちらの記事のソースコードを使用して、Storyboardを使用せずに、
TableViewのCellをタップすると画面遷移が行われるアプリを作成しているのですが、
TableViewCellの生成がうまくいかない状態になっております。
こちらの解決方法についてご教示いただければと思います。
発生している問題
Cellのテキストに、セルのindexPath.rowを表示させたいのですが、現在のコードだと下記の画像のように、Cellに何も表示されていない状態になっております。
下記がソースコードです。
FirstViewController
1import UIKit 2 3class FirstViewController: UITableViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view. 8 } 9 10 override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 11 return 100 12 } 13 14 override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 15 let cell = UITableViewCell(style: .default, reuseIdentifier: nil) 16 cell.textLabel?.text = "row(indexPath.row)" 17 return cell 18 } 19 20 override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 21 let svc = SecondViewController() 22 svc.label.text = "row(indexPath.row)" 23 navigationController?.pushViewController(svc, animated: true) 24 } 25}
SceneDelegate
1import UIKit 2 3class SceneDelegate: UIResponder, UIWindowSceneDelegate { 4 5 var window: UIWindow? 6 7 let firstViewController = UITableViewController() 8 9 10 func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { 11 guard let _ = (scene as? UIWindowScene) else { return } 12 13 if let windowScene = scene as? UIWindowScene { 14 let window = UIWindow(windowScene: windowScene) 15 window.rootViewController = UINavigationController(rootViewController: UITableViewController(style: .plain)) 16 self.window = window 17 window.makeKeyAndVisible() 18 } 19 } 20 //以下省略 21}
試したこと
以下のように、cellがそもそも生成できているのかどうか検証を行ったところ、デバッグエリアには何も表示されていませんでした。
ViewController
1override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 2 let cell = UITableViewCell(style: .default, reuseIdentifier: nil) 3 print(cell) //検証用に追加 4 cell.textLabel?.text = "row(indexPath.row)" 5 return cell 6 }
念の為、Storyboardで上記コード(SceneDelegateは特に記述せず)を試してみましたが、問題なくCellにセル番号が表示されている状態でした。
補足情報(FW/ツールのバージョンなど)
Xcode11
Swift5
iOS13.1
を使用しております。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/22 02:29
2019/11/22 04:25
2019/11/22 04:30
2019/11/22 04:35