カスタムセルに表示する内容を指定する方法を教えてください。
カスタムセルに画像とラベルを2こ配置しています。
下記のコードを実行するとエラーは発生しないのですが、テーブルにデータが表示されません。
どこを確認していけば良いかをアドバイスお願いします。
ここのコードの書き方がわかりません。
let cell = MStaffTable.dequeueReusableCell(withIdentifier: "staffcell", )
ここは修正してエラーがなくなりました。
let cell = MStaffTable.dequeueReusableCell(withIdentifier: "staffcell", for: indexPath) as! MStaffTableViewCell
「staffcell」は「MStaffTableViewCell.xib」の「Identifier」に設定しています。
MStaffTableViewCell.swift
class MStaffTableViewCell: UITableViewCell { @IBOutlet weak var staff_image: UIImageView! @IBOutlet weak var staff_name: UILabel! @IBOutlet weak var staff_kana: UILabel! func MStaffSelect(ss: IndexPath){ self.staff_image.image = UIImage(named: "1.jpg") self.staff_name.text = String((ss.row)+1) self.staff_kana.text = String((ss.row)+1) } }
import Foundation import UIKit class MStaffViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{ // スタッフ一覧テーブル @IBOutlet weak var MStaffTable: UITableView! // テーブルの行数を指定するメソッド(実装必須) func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 10 } // セルの中身を設定するメソッド(実装必須) func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = MStaffTable.dequeueReusableCell(withIdentifier: "staffcell", for: indexPath) as! MStaffTableViewCell return cell } override func viewDidLoad() { super.viewDidLoad() // カスタムセルクラスの利用 MStaffTable.register(UINib(nibName: "MStaffTableViewCell", bundle: nil), forCellReuseIdentifier: "staffcell") } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/19 06:51
2019/07/19 06:57
2019/07/19 07:32
2019/07/19 08:19
2019/07/19 09:32
2019/07/19 11:11