美文网首页
view持有Model,使用protocol

view持有Model,使用protocol

作者: 梁森的简书 | 来源:发表于2021-07-04 18:04 被阅读0次

view持有model的问题

  1. view与model的耦合
  2. 有时view需要持有多个model,view中代码较多

view持有一个遵守了某个协议的model

解决的问题:如果view持有model过多,避免view中出现过多model(不过这种情况较少)

代码:

protocol:

protocol ModelProtocol {
    var name: String { get }
}

model:

struct FirstModel {
    var name1: String?
    
}

extension FirstModel: ModelProtocol {
    var name: String {
        return name1 ?? ""
    }
}

struct SecondModel {
    var name2: String?
}

extension SecondModel: ModelProtocol {
    var name: String {
        return name2 ?? ""
    }
}

view:

var model: ModelProtocol? {
        didSet{
            titleLabel.text = model?.name
        }
    }

给view的model赋值:

let model1 = FirstModel(name1: "好好好")
yellowView.model = model1

相关文章

  • view持有Model,使用protocol

    view持有model的问题 view与model的耦合 有时view需要持有多个model,view中代码较多 ...

  • MVP-登录

    View Presenter Model ,Presenter作为桥梁,持有view 和 model的接口引用,将...

  • 代理方法实现数据展示

    使用MVC开发,通常View会持有Model,我们只需要重写Model的set方法,就可以完成数据的展示,但是开发...

  • MVC 单例模式的理解

    1.什么是MVC mvc是model view controller的简称, view-存放视图使用的 model...

  • MVP实现原理

    View与Model并不直接交互,而是使用Presenter作为View与Model之间的桥梁。其中Present...

  • 泛型MVP解决内存泄漏隐患

    背景 我们知道,在MVP模式中,Presenter是同时持有View和Model的引用的,那么,当在Present...

  • 我理解的angular双向绑定

    所谓双向,是指从model到view和从view到model。 View -> model相对直观,通过在view...

  • MVC MVP MVVM

    一:MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器) Model(模型...

  • QT Model

    1 Introduction to Model/View Programming The model/view a...

  • Android开发中的的MVP模式

    MVP,全称 Model-View-Presenter1,为什么使用MVP? 大部分的安卓应用只使用View-Mo...

网友评论

      本文标题:view持有Model,使用protocol

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