zoukankan      html  css  js  c++  java
  • 第9月第30天 MVP

    1.

    import UIKit
    
    struct Person { // Model
        let firstName: String
        let lastName: String
    }
    
    protocol GreetingView: class {
        func setGreeting(greeting: String)
    }
    
    protocol GreetingViewPresenter {
        init(view: GreetingView, person: Person)
        func showGreeting()
    }
    
    class GreetingPresenter : GreetingViewPresenter {
        unowned let view: GreetingView
        let person: Person
        required init(view: GreetingView, person: Person) {
            self.view = view
            self.person = person
        }
        func showGreeting() {
            let greeting = "Hello" + " " + self.person.firstName + " " + self.person.lastName
            self.view.setGreeting(greeting)
        }
    }
    
    class GreetingViewController : UIViewController, GreetingView {
        var presenter: GreetingViewPresenter!
        let showGreetingButton = UIButton()
        let greetingLabel = UILabel()
    
        override func viewDidLoad() {
            super.viewDidLoad()
            self.showGreetingButton.addTarget(self, action: "didTapButton:", forControlEvents: .TouchUpInside)
        }
    
        func didTapButton(button: UIButton) {
            self.presenter.showGreeting()
        }
    
        func setGreeting(greeting: String) {
            self.greetingLabel.text = greeting
        }
    
        // layout code goes here
    }
    // Assembling of MVP
    let model = Person(firstName: "David", lastName: "Blaine")
    let view = GreetingViewController()
    let presenter = GreetingPresenter(view: view, person: model)
    view.presenter = presenter

    view调用self.presenter,presernter调用self.view

    https://blog.coding.net/blog/ios-architecture-patterns

    https://segmentfault.com/a/1190000006800020

  • 相关阅读:
    mysqllimit优化
    PLSQL Developer设置及快捷键设置
    Oracle建库、建表空间,建用户
    oracle分页语句
    oracle110个常用函数
    用二进制进行权限管理
    Tomcat6优化
    Silverlight 动态创建Xaml
    使用asp.net 2.0中的SqlBulkCopy类批量复制数据
    Jquery 插件开发
  • 原文地址:https://www.cnblogs.com/javastart/p/7098157.html
Copyright © 2011-2022 走看看