iOS开发 MVVM模式下的Tableview松绑

作者: 小黑Swift | 来源:发表于2016-05-17 15:15 被阅读1002次

使用 MVVM 模式对 UITableview 进行松绑

MVVM

ViewController.swift

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
    }
}

TableView.swift

class TableView: UITableView {
    
    var VM = TableViewModel()
    override func awakeFromNib() {
        self.tableFooterView = UIView() //清除多余线条
        
        VM.target = self
        self.delegate = VM
        self.dataSource = VM
    }
}

TableViewModel.swift

class TableViewModel: NSObject, UITableViewDataSource, UITableViewDelegate {
    
    weak var target: TableView!
    
    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }
    
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 100
    }
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath:  indexPath)
        
        return cell
    }
}

如使用 Storyboard 自定义cell,需要绑定TableView的类和设置cell的标识符

SB

相关文章

网友评论

    本文标题:iOS开发 MVVM模式下的Tableview松绑

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