16.Swift UITableView的简单使用

@(〓〓 iOS-Swift语法)[Swift 语法]


目录

  • 16.Swift Swift中UITableView的简单使用
  • Swift中UITableView的简单使用
  • Swift使用协议注意点
  • Swift中类的扩展
  • UITableView的简单使用

Swift中UITableView的简单使用

  • Swift遵守协议的方法
// 遵守协议
class ViewController: UIViewController , UITableViewDataSource, UITableViewDelegate {

}

Swift使用协议注意点

  • 必须实现协议中用option修饰的必须实现的方法,否则会报错

Swift中类的扩展

  • Swift中的扩展相当于OC中的分类

  • 使用extension关键字定义类的扩展

  • Swift中的MARK注释格式: MARK:- 注释内容


UITableView的简单使用

  • UITableView简单使用实现代码
    • 使用普通创建cell的方式
    • 使用注册cell的方式
import UIKit

// ------------------------------------------------------------------------
// tableView的基本
class ViewController: UIViewController {

    // 注意: Swift中mark注释的格式: MARK:-
    // MARK:- 属性
    let cellID = "cell"
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 1.创建tableView,并添加的控制器的view
        let tableView = UITableView(frame: view.bounds)
        
        // 2.设置数据源代理
        tableView.dataSource = self
        tableView.delegate = self
        
        // 3.添加到控制器的view
        view.addSubview(tableView)
        
        // 4.注册cell
        tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: cellID)
    }
    

}

// ------------------------------------------------------------------------
// Swift中类的扩展: Swift中的扩展相当于OC中的分类
extension ViewController: UITableViewDataSource, UITableViewDelegate {

    
    // MARK:- UITableViewDataSource数据源
    // 必须实现UITableViewDataSource的option修饰的必须实现的方法,否则会报错
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 20
    }
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        
        /*
        // ----------------------------------------------------------------
        // 使用普通方式创建cell
        let cellID = "cell"
        
        // 1.创建cell,此时cell是可选类型
        var cell = tableView.dequeueReusableCellWithIdentifier(cellID)
        
        // 2.判断cell是否为nil
        if cell == nil {
        cell = UITableViewCell(style: .Default, reuseIdentifier: cellID)
        }
        
        // 3.设置cell数据
        cell?.textLabel?.text = "测试数据\(indexPath.row)"
        
        return cell!
        */
        
        let cell = tableView.dequeueReusableCellWithIdentifier(cellID)
        
        cell?.textLabel?.text = "测试数据\(indexPath.row)"
        
        return cell!
        
    }
    
    // MARK:- UITableViewDelegate代理
    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        print("点击了\(indexPath.row)")
    }
}

你可能感兴趣的:(16.Swift UITableView的简单使用)