原创Blog,转载请注明出处
一 MVC简介
MVC是将应用中的类组织起来的一种策略。是IOS开发最常用的设计模式,当然,还有诸如MVVM,VIPER等模式,不过不在本文的讨论范畴。
MVC代表什么:Model-View-Controller。
Model:应用是什么(what the app is )
Controller:如何呈现Model
View:你看到的东西
注意:
1.Controller可以直接访问Model和View。
2.Model和View不要直接通信。
3.View和Model是不依赖于Controller的,这是最基本的,不然你的工程在测试和维护起来都非常麻烦。
二 消息传递的8种方式
为了更好的理解消息传递,我写了个简单的demo,三个ViewController分别展示不同的消息传递方式。
第一个ViewController如图
Up,Down两个Button点击后分别会将Label的数字加减一
1 Outlet(Controller访问View)
注意:Outlet应当是weak的,因为强Outlet不应该参与引用计数。
使用Outlet非常简单,
在storyboard上拖出一个控件,然后control+drag拖出一个outlet,如图沿着红线拖拽
不要忘记给ViewController设定为自定义的类,不然打开辅助编辑界面不会无法拖拽。
这样,就可以用属性的访问方式来直接访问label
2 target Action(盲通信,View反馈给Controller)