[iOS]swift3.0 tableView的简单使用

小白刚接触swift,第一篇文章,相互学习。


1. Model
因为写的MVC比较简单,所以就写简单的一点的Model

class dataModel : NSObject {
    
    var titile : String?
       //自定义初始化方法
       init(titile : String) {
        super.init()
        self.titile = titile
        
    }
}

2. tableViewCell

class tableViewCell: UITableViewCell {
  
  //懒加载
  lazy var label : UILabel = {
      var labeltemp = UILabel();
      labeltemp.textAlignment = NSTextAlignment.center;
      labeltemp.font = UIFont.boldSystemFont(ofSize: 20)
      labeltemp.textColor = UIColor.red
      
      return labeltemp
  }()

  //label.text = model.titile
  var dataModel : dataModel  {
      set {
          self.label.text = newValue.titile
      }
      get{
          return self.dataModel
      }
  }
  //重写父类方法
  override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
      
      super.init(style: style, reuseIdentifier: reuseIdentifier)
      
      self.contentView.addSubview(self.label)
      self.label.frame = CGRect(x:(self.frame.size.width - 100)/2,y:0,width:100,height:self.frame.size.height)
  }
  
  required init?(coder aDecoder: NSCoder) {
      fatalError("init(coder:) has not been implemented")
  }
}

3.ViewController

class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource{
    
    var tableView : UITableView?
    
    //懒加载
    lazy var dataArray : NSMutableArray = {
        return NSMutableArray.init()
    }()
    var collectionView : UICollectionView?
    override func viewDidLoad() {
        super.viewDidLoad()
        //view.init()
        self.tableView = UITableView.init(frame: self.view.bounds, style: UITableViewStyle.plain);
        self.tableView?.delegate = self;
        self.tableView?.dataSource = self;
        self.tableView?.separatorStyle = UITableViewCellSeparatorStyle.none;
        self.view.addSubview(self.tableView!)
        
        //data.init()
        for  index in 1...5{
            let num  = String(index)
            let model = dataModel.init(titile:num);
            self.dataArray.add(model)
        }
    }
    
    //UITableViewDataSource
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.dataArray.count
    }
    //UITableViewDelegate
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let  cellStr = "tableViewCellStr"
        var cell :tableViewCell?
       
        //重用
        cell = tableView.dequeueReusableCell(withIdentifier: cellStr) as? tableViewCell
        
        if cell == nil {
          //初始化
          cell = tableViewCell.init(style: UITableViewCellStyle.default, reuseIdentifier: cellStr)
          cell?.backgroundColor = UIColor.yellow
        }
       //cell数据赋值
        let model  = self.dataArray.object(at: indexPath.row) as! dataModel;
        cell?.dataModel = model
        
        return cell!
    }
    
}

你可能感兴趣的:([iOS]swift3.0 tableView的简单使用)