16.Swift UITableView的简单使用
2016-02-26 本文已影响1782人
Liwx
@(〓〓 iOS-Swift语法)[Swift 语法]
- 作者: Liwx
- 邮箱: 1032282633@qq.com
目录
- 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)")
}
}