【发布时间】:2015-02-13 02:41:58
【问题描述】:
根据MVC规则,V代表视图,M代表数据。严格的 MVC 禁止 V 直接访问 M 就像 http://4.bp.blogspot.com/-tISOU011t_U/T1yDocALTUI/AAAAAAAAAII/AFiwMAr-Z6g/s640/MVC+Obj-C.png 显示的那样,对吗? 我正在对 MobileMail 进行逆向工程,即 iOS 8 上的邮件应用程序,并注意到在 MailboxContentViewCell.h 中,有一个 - (MFMailMessage *)message 方法。如果我正确理解 MVC,MailboxContentViewCell 是 V,MFMailMessage 是 M,V 直接读取 M,这违反了 MVC 规则。那么,是我对 MVC 的误解,还是 Apple 在这种情况下确实破坏了 MVC?
【问题讨论】:
-
这也可以看作是一个数据传输对象或视图模型类。真正的 M 可能是处理邮件数据库磁盘存储及其与邮件服务器交互的代码。
-
@Thilo 在我对MVC的理解中,M不只是一个单一的类,所以MFMailMessage属于M。
标签: ios model-view-controller view model controller