2017-12-03 7 views
0

私はUITableViewControllerを持っており、それにカスタムセルを設定したいと思います。私が作成したセルには、メインのストーリーボードから離れた独自のクラスとxibファイルがあります。UITableViewControllerがxibファイルを使用してカスタムセルをロードしない

xibファイルでは、私は識別子として「VisitCell」を持っています。

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

    let cell = tableView.dequeueReusableCell(withIdentifier: "VisitCell", for: indexPath) as! VisitCell 

    let visit : BookingVisitItem = bookingDayItem.getVisitItems()[indexPath.row] 

    cell.locationLabel?.text = visit.getVenueName() 
    cell.timeLabel?.text = visit.getVisitTime() 
    cell.typeLabel?.text = visit.getVisitType() 

    return cell 
} 

このようなコードを実行するとクラッシュするようです。たぶんそれはカスタムセルを見つけることができませんか?私はこの段階で

tableView.register(VisitCell.self, forCellReuseIdentifier: "VisitCell") 

()のviewDidLoadに以下を追加した場合

しかし、それはクラッシュしませんが、テーブルビューは空のように見えます。

任意のポインタ?ありがとう!

+0

あなたがオーバーライドFUNCのnumberOfSectionsInTableView 'のような他のデリゲートを実装している(のtableView:のUITableView) - >のInt オーバーライドのfuncのtableView({ //は1 を返します} ' // return 3 }'テーブルビューのデリゲートの実装方法と一緒にエラーログを保持していた方が良いでしょう。 – Niroj

+0

@ sark9012クラッシュにも言及してください。間違っている可能性があります。 –

答えて

3

viewDidLoad()であなたのペン先のセルを登録 - :

override func viewDidLoad() { 
     super.viewDidLoad() 
     yourTableView.registerNib(UINib(nibName: "yourcell", bundle: nil), forCellReuseIdentifier: "CustomCellOne") 
    } 
+1

それがソートされています。私が読んだことから、ストーリーボードからカスタムxibを使っていたものは何もなかったので、それに関係するものがあると仮定しました。どうもありがとう! – sark9012

関連する問題