简体   繁体   中英

iOS UITableView is empty when using custom UITableViewCell

I'm trying to make a List with UITableView on iOS, but when I use custom cell it is always empty and shows empty cells and not in count that I set.

ViewController.swift

import UIKit

class ViewController: UITableViewController {

    var collections = ["Collection 1", "Collection 2", "Collection 3", "Collection 4", "Collection 5", "Collection 6"]
    var descriptions = ["Collection description 1", "Collection description 2", "Collection description 3", "Collection description 4", "Collection description 5", "Collection description 6"]
    let cellIdentifier = "CollTableViewCell"

    override func viewDidLoad() {
        super.viewDidLoad()
        let tableNib = UINib(nibName:"CollectionTableViewCell", bundle:nil)
        tableView.registerClass(CollectionTableViewCell.self, forCellReuseIdentifier: cellIdentifier)
        tableView.registerNib(tableNib,forCellReuseIdentifier:cellIdentifier)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 6
    }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! CollectionTableViewCell
        cell.collectionName?.text = collections[indexPath.row]
        return cell
    }

}

CollectionTableViewCell.swift

import UIKit

class CollectionTableViewCell: UITableViewCell {

    @IBOutlet weak var collectionName: UILabel!
    @IBOutlet weak var collectionDesc: UILabel!
    @IBOutlet weak var collectionImage: UIImageView!

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
    }

    override init(style: UITableViewCellStyle, reuseIdentifier: String!) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
    }

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

Please, help me to solve it.

class ViewController: UIViewController {

    @IBOutlet weak var tblView: UITableView!
    var collections:NSArray = []
    var descriptions:NSArray = []

    override func viewDidLoad() {
         collections = ["Collection 1", "Collection 2", "Collection 3", "Collection 4", "Collection 5", "Collection 6"]
         descriptions = ["Collection description 1", "Collection description 2", "Collection description 3", "Collection description 4", "Collection description 5", "Collection description 6"]
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }
    func numberOfSectionsInTableView(tableView: UITableView) -> Int
    {
        return 1
    }

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
    {
        return collections.count
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
    {
        let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath:indexPath) as! TableViewCell
        cell.lbl_Name.text = collections.objectAtIndex(indexPath.row) as? String
        cell.lbl_Desc.text = descriptions.objectAtIndex(indexPath.row) as? String
        return cell
    }



    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}


class TableViewCell: UITableViewCell {

    @IBOutlet weak var lbl_Name: UILabel!
    @IBOutlet weak var lbl_Desc: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM