加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift3.0 面向协议开发 MVP 来看看吧

发布时间:2020-12-14 06:35:15 所属栏目:百科 来源:网络整理
导读:贡献者:赵大财 博客:https://my.oschina.net/zhaodacaiGitHub:https://github.com/dacaizhao 邮箱: dacai_zhao@163.com QQ:327532817 ============================= 下载地址:https://github.com/dacaizhao/swiftMVP 喜欢就给我star吧 先看:ViewController

贡献者:赵大财
博客:https://my.oschina.net/zhaodacaiGitHub:https://github.com/dacaizhao
邮箱: dacai_zhao@163.com QQ:327532817
=============================
下载地址:https://github.com/dacaizhao/swiftMVP 喜欢就给我star吧
先看:ViewController

class ViewController: UIViewController {
    
    fileprivate lazy var presenter : ViewPresenster = {
        return ViewPresenster(presenter: self)
    }()
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
     }
    
    override func touchesBegan(_ touches: Set<UITouch>,with event: UIEvent?) {
        presenter.getData()
    }
}

// MARK:- 获取数据//
extension ViewController:ViewPresensterProtocol{
    func showPost(_ resulet: [DCModel]) {
        print(resulet)
    }
}

在看 Model

class DCModel: NSObject {
    
    // 用户ID
    var user_id : String = ""
    
    // 用户名字
    var user_name : String = ""
    
    init(dict : [String : Any]) {
        super.init()
        setValuesForKeys(dict)
    }
    
    override func setValue(_ value: Any?,forUndefinedKey key: String) {}
}


最后 Presenter

protocol ViewPresensterProtocol {
    func showPost(_ resulet: [DCModel])
}

class ViewPresenster: NSObject {
    var presenter: ViewPresensterProtocol!
    lazy var model:[DCModel] = [DCModel]()
    init(presenter:ViewPresensterProtocol) {
        self.presenter = presenter;
    }
    
    func getData(){
        let dict = [
            ["user_id":"1","user_name":"zhaodacai1"],["user_id":"2","user_name":"zhaodacai2"],["user_id":"3","user_name":"zhaodacai3"],["user_id":"4","user_name":"zhaodacai4"],["user_id":"5","user_name":"zhaodacai5"],["user_id":"6","user_name":"zhaodacai6"],["user_id":"7","user_name":"zhaodacai7"]
        ]
        
        for item in dict {
            model.append(DCModel(dict: item))
        }
        
        self.presenter.showPost(model)
    }
    
    
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读