swift中的uitable

下面是一个静态的table view

 于图可知有两个section头是11..和22..,其中222...是一个table view cell !并且从图可知道样式是left Detail,Accessory(选的是Discloure Indicator)这两个分别图中的Title detail 和 右边的>

下面是一个动态的table view

写一个viewcontroll视图控制器

import UIKit

class viewcontroll :UITableViewController{
    var person:[Person]!
    override func viewDidLoad() {
        super.viewDidLoad()
        person = PersonImpl().generatePerson()
        
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
    //返回行数
    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return person.count
    }
   // 给每行赋值
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell
= tableView.dequeueReusableCellWithIdentifier("demo")! let p = person[indexPath.row] let nameLabel = cell.viewWithTag(1) as! UILabel nameLabel.text = p.name let ageLabel = cell.viewWithTag(2) as! UILabel ageLabel.text = "(p.age)" return cell } }

而赋值有3种方法

//第一种:直接自己创建cell
        //        let cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cellDemo")
//        cell.textLabel?.text = "aaa"
//        return cell
        
        //第二种:演示IndexPath参数的使用
//        let cell = UITableViewCell(style: .Default, reuseIdentifier: "cellDemo")
//        if indexPath.row == 0 {
//            //let cell = UITableViewCell(style: .Default, reuseIdentifier: "cellDemo")
//            cell.textLabel?.text = "aaa"
//            //return cell
//        }else if indexPath.row == 1 {
//            //let cell = UITableViewCell(style: .Default, reuseIdentifier: "cellDemo")
//            cell.textLabel?.text = "bbbb"
//            //return cell
//        } else if indexPath.row == 2 {
//            //let cell = UITableViewCell(style: .Default, reuseIdentifier: "cellDemo")
//            cell.textLabel?.text = "ccc"
//           // return cell
//        }
//       return cell
        
        //第三种:
        let cell = tableView.dequeueReusableCellWithIdentifier("cellDemo")
        cell?.textLabel?.text = "aaaa"
        return cell!

再写一个person类

import UIKit

//模型类
class Person {
    var name: String
    var age: Int
    init(name: String,age: Int){
        self.name = name
        self.age = age
    }
    
}
// PersonBLL
class PersonImpl {
    func generatePerson() -> [Person] {
        //persondao. //persondal.()
        var result = [Person]()
        let p = Person(name: "david1", age: 11)
        result.append(p)
        
        let p2 = Person(name: "david2", age: 22)
        result.append(p2)
        
        let p3 = Person(name: "david3", age: 33)
        result.append(p3)
        return result
        
    }
}

 把表格行identifiter改为cell

原文地址:https://www.cnblogs.com/kangniuniu/p/4998878.html