swift tableView的簡單用法
阿新 • • 發佈:2018-12-25
// // ViewController.swift // SwiftTableView // // Created by fe on 2017/3/3. // Copyright © 2017年 fe. All rights reserved. // import UIKit //swift遵守協議只需要跟在父類之後,使用逗號隔開 class ViewController: UIViewController { //1.建立tableView物件 lazy var tableView : UITableView = UITableView() override func viewDidLoad() { super.viewDidLoad() //初始化UI setUpUI() } } /* extension ViewController {} 相當於OC中的類別,可以把一些方法放在裡面,不能寫屬性 */ // MARK:-初始化UI的擴充套件 extension ViewController{ ///初始化UI func setUpUI() { //2設定tableView的frame tableView.frame = view.bounds //3.新增到控制器view view.addSubview(tableView) //4設定資料來源 tableView.dataSource = self //5設定代理 tableView.delegate = self } } /* extension ViewController {} 相當於OC中的類別,可以把一些方法放在裡面,不能寫屬性 */ // MARK: tableView的資料來源和代理的擴充套件 (這裡相當於OC中的 #pragma 書籤) extension ViewController :UITableViewDataSource,UITableViewDelegate{ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 20; } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { //1建立cell let identifier : String = "identifier" var cell = tableView.dequeueReusableCell(withIdentifier: identifier) if cell == nil { //在swift中使用列舉型別方式 1>列舉型別.具體型別 2> .具體型別 cell = UITableViewCell(style: UITableViewCellStyle.value1, reuseIdentifier: identifier) } //2設定資料 cell?.textLabel?.text = "swiftTableView" cell?.detailTextLabel?.text = "\(indexPath.row)" //3返回cell return cell!//在這個地方返回的cell一定不為nil,可以強制解包 } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { MyLog(message: indexPath.row) } }