1. 程式人生 > >swift4.0 UITableView純程式碼實現

swift4.0 UITableView純程式碼實現

//
//  ViewController.swift
//  ListView
//
//  Created by 朱瑩浩 on 2017/7/22.
//  Copyright © 2017年 朱瑩浩. All rights reserved.
//

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{
    
    var table:UITableView!
    let arry:[String] = ["我是誰", "我從哪裡來", "要到哪裡去"]
    override func viewDidLoad() {
        
        
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        //設定UITableView的位置
        let rect = self.view.frame
        table = UITableView(frame: rect)
        self.table.backgroundColor = UIColor.blue
        
        //設定資料來源
        self.table.dataSource = self
        //設定代理
        self.table.delegate = self
        self.view.addSubview(table)
        //註冊UITableView,cellID為重複使用cell的Identifier
        self.table.register(UITableViewCell.self, forCellReuseIdentifier: "cellID")
    }
    /*
     @注意:我們前邊的ViewController繼承了UITableViewDataSource
     @和 UITableViewCelegate。如果我們不註冊下面的三個方法XCode就會報錯!!!
    */
    //設定cell的數量
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return arry.count
    }
    
    //設定section的數量
    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }
    
    //設定tableview的cell
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = (table.dequeueReusableCell(withIdentifier: "cellID", for: indexPath)) as UITableViewCell
        cell.textLabel?.text = arry[indexPath.row]
        return cell
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}