cell
class DCTableViewCell: UITableViewCell { lazy var dcLabel: UILabel = { let dcLabel = UILabel() dcLabel.text = "百度" dcLabel.backgroundColor = UIColor.greenColor() dcLabel.textAlignment = NSTextAlignment.Center return dcLabel }() override init(style: UITableViewCellStyle,reuseIdentifier: String?) { super.init(style: style,reuseIdentifier: reuseIdentifier) addSubview(dcLabel); dcLabel.frame = CGRectMake(0,100,80) dcLabel.text = "赵大财博客"; } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }
VC
import UIKit class ViewController: UIViewController { lazy var tableView : UITableView = { return UITableView() }() override func viewDidLoad() { super.viewDidLoad() setupUI() } } // MARK:- 设置UI界面相关 extension ViewController { /// 设置UI界面 func setupUI() { // 0.将tableView添加到控制器的View中 view.addSubview(tableView) // 1.设置tableView的frame tableView.frame = view.bounds // 2.设置数据源 tableView.dataSource = self // 3.设置代理 tableView.delegate = self //注册CELL tableView.registerClass(DCTableViewCell.self,forCellReuseIdentifier:"celli") } } // MARK:- tableView的数据源和代理方法 // extension类似OC的category,也是只能扩充方法,不能扩充属性 extension ViewController : UITableViewDataSource,UITableViewDelegate{ func tableView(tableView: UITableView,numberOfRowsInSection section: Int) -> Int { return 20 } func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("celli"); return cell! } func tableView(tableView: UITableView,didSelectRowAtIndexPath indexPath: NSIndexPath) { print("点击了:\(indexPath.row)") } func tableView(tableView: UITableView,heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { return 80 } }