美文网首页
[iOS]swift3.0 tableView的简单使用

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

作者: 溜萝卜 | 来源:发表于2016-10-18 10:47 被阅读588次

    小白刚接触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的简单使用

          本文链接:https://www.haomeiwen.com/subject/swhzyttx.html