前提・実現したいこと
Swift初心者です。
TableViewにデータが表示されず、困っています。
セル自体は表示されるのですが、memosのデータが表示されません。
該当のソースコード
Swift
1import UIKit 2 3class MemoTableViewController: UITableViewController { 4 5 var memos = [ 6 ["blue", "red", "pink"], 7 ["Miyake", "Morita"] 8 ] 9 10 override func viewDidLoad() { 11 super.viewDidLoad() 12 } 13 14 override func didReceiveMemoryWarning() { 15 super.didReceiveMemoryWarning() 16 } 17 18 19 // MARK: - Table view data source 20 21 override func numberOfSections(in tableView: UITableView) -> Int { 22 // #warning Incomplete implementation, return the number of sections 23 return self.memos.count 24 } 25 26 override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 27 // #warning Incomplete implementation, return the number of rows 28 return self.memos[section].count 29 } 30 31 override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 32 let cell = tableView.dequeueReusableCell(withIdentifier: "MemoTableViewCell", for: indexPath) 33 34 // Configure the cell... 35 cell.textLabel?.text = self.memos[indexPath.section][indexPath.row] 36 return cell 37 } 38 39 override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { 40 return "section-(section)" 41 } 42
試したこと
returnの値を変えるなどしてみましたが全然表示されないまま現在に至ります。
詳しい方がいらっしゃいましたら教えていただきたいです。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
Xcode 11.5
Swift 5.2.4
Storyboard で TableView にプロトタイプセルを追加して、Reuse Identifier を設定してますか?
回答ありがとうございます。
プロトタイプセルの追加とReuse Identifierの設定は行っています。
セル自体は表示されるのですが、"blue", "red", "pink"といったデータがセルに表示されない状態です。
そのソースを Xcode に貼って動かしてみましたが、普通に表示されますよ。
プロトタイプセルがおかしな状態 (cell.textLabel が nil とか) になってるんですかね…。
試しに新しいプロトタイプセルを追加して、そっちを使ってみるとか。
どうしても駄目なら Storyboard のスクショを載せてくれたら何か分かるかも知れません。
セルの背景に色つけて、シミレーターの画像を掲示してもらえませんか?
それとstoryboardのtableView とcellの設定がわかるAttributes Inspectorも見せてください。
staticになってたりするので。
もしかして、カスタムクラスの変更を忘れている、という事例でしょうか(私が一瞬ハマりました)。
あなたの回答
tips
プレビュー