import UIKit
// 1.在Swift中遵守协议直接利用逗号隔开
class ViewController: UIViewController {
override func loadView() {
let tableView = UITableView()
tableView.dataSource = self
tableView.delegate = self
view = tableView
}
// MARK: - 懒加载
lazy var listData: [String]? = {
return ["me", "she", "he", "other", "ww", "zl"]
}()
}
// extension 相当于OC的 Category,在Swift中遵守协议直接利用逗号隔开
extension ViewController: UITableViewDataSource, UITableViewDelegate
{
// MARK: - UITableViewDataSource
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// TODO: 有问题, 开发中不应该这样写
return (listData?.count)!
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("cell")
if cell == nil
{
cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cell")
}
cell?.textLabel?.text = listData![indexPath.row]
return cell!
}
// MARK: - UITableViewDelegate
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print(listData![indexPath.row])
}
}
网友评论