【问题标题】:Can somebody post a good example of MVC Pattern in Swift? [closed]有人可以在 Swift 中发布一个很好的 MVC 模式示例吗? [关闭]
【发布时间】:2016-06-02 06:48:26
【问题描述】:

一个实现了 MVC 模式的简单项目。到目前为止,我对它的情况有一个简要的了解,但我想看看实际的实现。

【问题讨论】:

标签: swift model-view-controller


【解决方案1】:

这是 swift 中 Model View Controller 的典型示例:

class Article {
  var title: String
  var body: String
  var date: NSDate
  var thumbnail: NSURL
  var saved: Bool
}

class ArticleViewController: UIViewController {
  var bodyTextView: UITextView
  var titleLabel: UILabel
  var dateLabel: UILabel

  var article: Article {
    didSet {
      titleLabel.text = article.title
      bodyTextView.text = article.body

      let dateFormatter = NSDateFormatter()
      dateFormatter.dateStyle = NSDateFormatterStyle.ShortStyle
      dateLabel.text = dateFormatter.stringFromDate(article.date)
    }
  }
}

【讨论】:

  • 这里的控制器类/层在哪里?
  • ArticleViewController 是控制器:管理视图并与模型对话。
  • 好的,那么 VIEW 层在哪里呢?是bodyTextView、titleLabel 和dateLabel 吗?如果是,为什么它们没有与控制器层分开?
  • MVC 设计模式具有三种类型的对象:模型对象、视图对象和控制器对象:这三种类型的对象中的每一种都由 abstract 边界隔开(并跨越这些边界与其他类型的对象进行通信)。考虑对元素进行物理分离的经典设计可能会产生误导,但这不是强制性的。
  • 如果您需要更多详细信息,可以查看官方文档here
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-27
  • 1970-01-01
  • 2013-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多