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, 0, 100, 80) dcLabel.text = "赵大财博客"; } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }
VC
import UIKitclass 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 }}